AppEngine恢复所有任务

时间:2012-07-12 23:35:55

标签: google-app-engine queue task

在我的生产服务器上,我有大约500个任务队列连续30次失败并在任务队列中等待。除了手动点击所有这些的“运行”之外,有没有办法恢复所有任务?我无法在任务队列文档中指出“恢复所有”功能。

我尝试使用task_retry_limit:100上传新的queue.yaml但它不起作用。就像,在击中30分之后,appengine就会停止执行任务

在失败的500个任务之前

queue.yaml

   queue:
      - name: default
      - rate: 1/s

3 个答案:

答案 0 :(得分:1)

请注意,当您的任务继续失败并重试时,任务队列系统会将任务计划为在将来进一步执行。默认情况下,最大ETA为1小时。是不是你的任务都有一个未来1小时的ETA?

答案 1 :(得分:0)

只需尝试一次新队列名称(如下所述)而不是默认队列,此队列对我有效。

- name: sales-queue
  rate: 10/s
  max_concurrent_requests: 1
  retry_parameters:
   task_retry_limit: 500
   min_backoff_seconds: 10
   max_backoff_seconds: 20

答案 2 :(得分:0)

仪表板中没有用于运行所有任务的按钮。任务未执行的原因是15,000个失败的任务(两者之间没有成功的任务)可能导致App Engine无论指定的任务速率如何都会大大停止任务执行。

要恢复所有任务,只需手动运行其中一些任务即可。如果成功,App Engine会注意并再次缓慢增加任务执行率,这会导致更多任务运行并成功,这会导致App Engine提高任务速率,等等,直到恢复默认任务率。这将相对快速地级联到正在运行的所有500个任务中。