Google 应用引擎请求标头中 X-AppEngine-TaskRetryReason 标头的可能值是啥?
Posted
技术标签:
【中文标题】Google 应用引擎请求标头中 X-AppEngine-TaskRetryReason 标头的可能值是啥?【英文标题】:What are the possible values for X-AppEngine-TaskRetryReason header in Google app engine request headers?Google 应用引擎请求标头中 X-AppEngine-TaskRetryReason 标头的可能值是什么? 【发布时间】:2021-09-12 13:54:44 【问题描述】:基本上,当 n 个任务队列在 Google Cloud Platform 中运行时,我遇到了一个问题。代码或服务器没有错误,但任务队列的执行由于实例不可用而终止,这将一次又一次地触发任务队列。
我知道发生这种终止过程的几个原因。
原因:
-
实例不可用
应用错误/AppEngine 错误
内存超出
我想知道X-AppEngine-TaskRetryReason
标头的其他可能值。
例如(GAE的回应):
self.request.headers 'Content_Length': '432', 'Content-Length': '432', 'X-Appengine-Current-Namespace': '75f4910a-b925-4945-92f0-b214a459f0be', 'X-Appengine-Taskexecutioncount': '1', 'X-Appengine-Tasketa': '1624452214.545367', 'User-Agent': 'AppEngine-Google; (+http://code.google.com/appengine)', 'X-Appengine-Taskpreviousresponse': '503', 'Host': 'payqa-dot-hw-pay.qa.appspot.com', 'X-Appengine-Taskretrycount': '2', 'Referer': 'http://payqa-dot-hw-pay.qa-.appspot.com/pay/runpayroll', 'Content_Type': 'application/octet-stream', 'X-Cloud-Trace-Context': 'd44fdfd56bc7733afb3169fb354b80ed/6659926505008598367', 'Traceparent': '00-d44fdfd56bc7733afb3169fb354b80ed-5c6ccfded93f0d5f-00', 'X-Appengine-Queuename': 'payroll', 'X-Appengine-Taskname': '21925984910338157231', 'Content-Type': 'application/octet-stream', 'X-Appengine-Country': 'ZZ', **'X-Appengine-Taskretryreason': 'Instance Unavailable'**
【问题讨论】:
在文档中没有列出X-AppEngine-TaskRetryReason
的可能值,它只声明它是The reason for retrying the task.
。您可以打开Customer issue in Google's issue tracker 从他们的工程团队获取该信息。但是你为什么想要这些信息?在我看来,您似乎已经缩小了问题的可能原因范围,只需要继续解决这些问题。
感谢 Rafael Lemos 的回复,我想要这些信息,因为我想在我的代码中为这个错误添加一些条件,以便我可以轻松处理任务队列重试问题和 GCP 实例成本。
【参考方案1】:
就像我在 cmets 中提到的那样,文档中没有列出 X-AppEngine-TaskRetryReason
的可能值,它只声明它代表:
重试任务的原因。
话虽如此,发生这种情况有两种可能性,要么这没有特定值,只是吐出它由实际类或组件传递给它的任何消息,这些消息导致任务执行失败,或者这是未共享,因为 Google Cloud 团队认为没有必要。
无论哪种方式,如果您想知道为什么会发生这种情况以及您可以期待什么值,您应该打开Customer issue in Google's Issue Tracker,以便您可以检查为什么没有在文档中与他们的工程团队共享。
【讨论】:
你好@MihirShukla。这是answer your question吗?以上是关于Google 应用引擎请求标头中 X-AppEngine-TaskRetryReason 标头的可能值是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Google People API:请求具有无效的身份验证凭据 - 未设置授权承载标头
Google Cloud Run for Anthos(Knative)未在 https 请求上正确设置 X-Forwarded-Proto 标头
Set-Cookie 标头未出现在 Google Chrome 中