gpt4 book ai didi

python - 如何不开始相同的任务并等到 celery beat 完成

转载 作者:行者123 更新时间:2023-11-28 17:58:48 24 4
gpt4 key购买 nike

我已经安排了 celery beat 每 3 小时运行一次的任务:

'sync_stuff': {
'task': 'celery_tasks.sync_stuff',
'schedule': crontab(hour='*/3')
}

有时完成任务需要超过 3 小时,我想确保 celery 不会在旧实例仍在运行时再次调度和运行任务。

有没有办法只使用 celery 或 celerybeat 设置来做到这一点?

最佳答案

不幸的是,你必须implement a locking strategy yourself .

阅读文档的这一部分以获取更多详细信息:

Like with cron, the tasks may overlap if the first task doesn’t complete before the next. If that’s a concern you should use a locking strategy to ensure only one instance can run at a time (see for example Ensuring a task is only executed one at a time).

来源:

http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#entries http://docs.celeryproject.org/en/latest/tutorials/task-cookbook.html#cookbook-task-serial

关于python - 如何不开始相同的任务并等到 celery beat 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56835329/

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