在我的生产服务器上,我有大约500个任务队列连续30次失败并在任务队列中等待。除了手动点击所有这些的“运行”之外,有没有办法恢复所有任务?我无法在任务队列文档中指出“恢复所有”功能。
我尝试使用task_retry_limit:100上传新的queue.yaml但它不起作用。就像,在击中30分之后,appengine就会停止执行任务
在失败的500个任务之前queue.yaml
queue:
- name: default
- rate: 1/s
答案 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个任务中。