App Engine TaskQueue:已中断,需要20分钟才能重新启动

时间:2018-06-22 22:44:56

标签: google-app-engine task-queue

似乎当App Engine Taskqueue中断时,它们需要20分钟或更长时间才能重新启动,这是正常现象吗?

我正在Google Cloud的App Engine Flexible系统上使用TaskQueue。我定期将任务添加到任务队列中,并在系统上对其进行处理。看起来,任务有时会在执行过程中被打断。我不知道为什么会这样,但是我认为这可能是因为其实例重新启动了。

我的软件可以重新启动,但问题是重新启动任务需要整整20分钟。以前有没有人经历过?

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为您是对的,一个实例抢占了该任务,然后掉线了。 Taskqueue没有意识到这一点,并等待某种超时。

这听起来与我遇到的问题非常相似: app engine instance dies instantly, locking up deferred tasks until they hit 10 minute timeout

所以要回答您的问题,我会说是的。至于该做什么,我想这取决于该任务的执行情况,运行的频率等。如果20分钟的延迟不是什么大问题,我只会忍受,因为修复它可能会有点追逐野鹅,但这是我会尝试的方法:

  1. 启动任务时,还启动重复项,并且倒计数/ eta值错开
  2. 设置一个单独的微服务来处理/执行这些任务,希望这将使它的执行更可预测,您将能够调整实例大小,并缩放设置以使其更适合。