如何在App Engine任务队列中设置最大重试值?

时间:2019-11-21 12:09:37

标签: google-app-engine google-cloud-tasks

我有以下重试参数:

<retry-parameters>
    <task-retry-limit>7</task-retry-limit>
    <task-age-limit>1d</task-age-limit>
    <min-backoff-seconds>1</min-backoff-seconds>
    <max-backoff-seconds>30</max-backoff-seconds>
</retry-parameters>

但是当我检查队列时,会看到类似45的重试。我已将task-retry-limit设置为7。那为什么会超出此范围呢?如何设置最大重试值?我将App Engine标准与基于推送的任务队列和Java 8 env一起使用。谢谢。


private Queue fsQueue = QueueFactory.getQueue(FS_QUEUE_NAME);
// ...

Product fp = new Product();
fp.setId("someid");
// ...
TaskOptions opts = TaskOptions.Builder.withUrl("/api/task/fs/product").method(TaskOptions.Method.POST)
                .payload(utils.toJSONBytes(fp), "application/json");
fsQueue.add(opts);

1 个答案:

答案 0 :(得分:1)

我认为您的问题与使用queue.xmldeprecated的事实有关。您应该改用queue.yaml

您还应该记住,如果同时使用Cloud Tasks API来管理队列,则可能会导致一些冲突。在this documentation中,您将找到有关如何处理最常见问题的信息。