具有 Java 的 App Engine:延迟任务忽略重试限制

App Engine with Java: Deferred tasks ignoring retry limit

我有一个 cron 作业启动一个在单独队列中运行的延迟任务。我已将此队列的重试限制设置为 1。由于此任务使用大量数据存储调用,我不希望它在发生故障时继续重试。

尽管我的 queue.yaml 定义如下:

,但延迟任务似乎一直在重试
queue:
- name: stopretrying   
rate: 35/s   
max_concurrent_requests: 2           
retry_parameters:
    task_retry_limit: 1
    task_age_limit: 1d

谁能解释这种反叛行为?

谢谢,美好的一天

App Engine 中存在与重试限制设置为零相关的错误。该设置被忽略,任务被重试了几次。该问题已在 1.9.25 中修复。如果您在重试限制设置为 1 时看到此问题,您可能需要将其报告为新错误。

任务队列将重试,直到达到重试次数和时限这两个限制。

docs 确实解释了这一点。