gpt4 book ai didi

python - 在 django celery 中运行单个任务最多 n 次

转载 作者:行者123 更新时间:2023-12-01 06:30:16 27 4
gpt4 key购买 nike

假设我有一个名为lazy_post_task的任务。

代码是这样的

@app.task(bind=True)
def lazy_post_task(self, post_url):
self.update_state(state='PROGRESS', meta={})
.............

现在我想运行这个任务最多 n 次,n 取决于用户输入,而且我想等到上一个任务完成。我的意思是,假设用户输入=2,那么我想运行任务最多 2 次,但一次运行一次。

最佳答案

您可以筹集self.retry()重试任务的异常。要获取重试次数,请使用 self.request.retries :

@app.task(bind=True)
def lazy_post_task(self, post_url, max_retries):
self.update_state(state='PROGRESS', meta={})
if max_retries < self.request.retries:
raise self.retry()

请注意,您还需要传递用户的 max_retries 作为参数。

关于python - 在 django celery 中运行单个任务最多 n 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945546/

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