1

基本上,当 n 个任务队列在 Google Cloud Platform 中运行时,我遇到了一个问题。代码或服务器没有错误,但任务队列的执行由于实例不可用而终止,这将一次又一次地触发任务队列。

我知道发生这种终止过程的几个原因。

原因:

  1. 实例不可用
  2. 应用程序错误/AppEngine 错误
  3. 内存超出

我想知道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'**}
4

1 回答 1

0

就像我在评论中提到的那样,文档中没有列出可能的值,X-AppEngine-TaskRetryReason它只声明它代表:

重试任务的原因。

话虽这么说,发生这种情况有两种可能性,要么这没有特定值,只是吐出由实际类或组件传递给它的任何消息,这些消息导致任务执行失败,或者这没有被共享因为 Google Cloud 团队认为没有必要。

无论哪种方式,如果您想知道为什么会发生这种情况以及您可以期待什么值,您应该在 Google 的问题跟踪器中打开一个客户问题,以便您可以检查为什么没有在文档中与他们的工程团队共享此问题。

于 2021-07-02T12:47:52.550 回答