gpt4 book ai didi

celery - Django/Celery : max_retries works for re-try, 但打印值始终是 Celery 默认值 (3)

转载 作者:行者123 更新时间:2023-12-04 17:27:57 25 4
gpt4 key购买 nike

    @app.task(bind=True, autoretry_for=(Exception,), retry_kwargs={'max_retries': 10, 'countdown': 5})
def job_deliver_message(self, message_id):
print('Try {0}/{1}'.format(self.request.retries, self.max_retries))
...
...
...

为了测试,我故意导致此任务失败。它确实会重试 10 次!但是,打印输出如下:

[2020-06-03 19:14:06,700: WARNING/ForkPoolWorker-15] Try 0/3
[2020-06-03 19:14:12,080: WARNING/ForkPoolWorker-1] Try 1/3
[2020-06-03 19:14:17,553: WARNING/ForkPoolWorker-3] Try 2/3
[2020-06-03 19:14:23,000: WARNING/ForkPoolWorker-5] Try 3/3
[2020-06-03 19:14:28,489: WARNING/ForkPoolWorker-7] Try 4/3
[2020-06-03 19:14:33,603: WARNING/ForkPoolWorker-9] Try 5/3
[2020-06-03 19:14:39,038: WARNING/ForkPoolWorker-11] Try 6/3
[2020-06-03 19:14:44,525: WARNING/ForkPoolWorker-13] Try 7/3
[2020-06-03 19:14:49,688: WARNING/ForkPoolWorker-15] Try 8/3
[2020-06-03 19:14:54,985: WARNING/ForkPoolWorker-1] Try 9/3
[2020-06-03 19:14:54,985: WARNING/ForkPoolWorker-1] Try 10/3

我错过了什么?我是不是从错误的地方打印了 max_retries 的值?

是的:我知道我可以只显示“10”……正如我明确设置的那样……但只是想知道为什么它在给定 10 时给了我 3 并实际根据它来计算数字重试...

最佳答案

您正在使用默认设置为 3 的 self.max_retries

重试方法有另一个变量 max_retries,在本例中设置为 10。

代码引用:task.py

关于celery - Django/Celery : max_retries works for re-try, 但打印值始终是 Celery 默认值 (3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62181465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com