搜尋

首頁  >  問答  >  主體

python - Celery 能让某个任务同时只能运行一个么。

有个任务在同一时间只能有一个进程执行它,假如这个任务celery 正在跑,后面再提交的就task忽略不跑了。
Celery有参数能快速设置么,还是要自己写逻辑控制。

高洛峰高洛峰2803 天前934

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 09:52:48

    https://pypi.python.org/pypi/...

    有個叫celery_once的函式庫,背後的機制是在redis中以該任務名字設定一個任務的鎖,當一個任務正在執行時,相同的任務不能再被觸發。

    當任務被觸發時,如果發現該任務已經有鎖了,會拋出一個AlreadyQueued異常,非常適合用在上一次任務沒執行,下一次週期到了,以及分佈式任務服務情況下的定時任務互斥場景。

    希望對你有用。

    回覆
    0
  • 取消回覆