在Celery中使用全局变量:最好的方法是什么?

时间:2017-07-07 15:23:52

标签: python django celery

我正在使用Django 1.10和Celery编写应用程序。 我试图在芹菜中创建一个可以通过Django启动和停止的循环。

我的想法看起来像这样(非常简单):

sed -i '12s/image: /currentimage/myimage/image: /newimage/otherimage/' ./myfile

问题是芹菜通常在> 1个工作线程中运行,并且线程之间不能访问_run。

问题:实现此功能的最佳方法是什么? 我正在考虑设置一个数据库变量,但我担心它不是最好的方法。

1 个答案:

答案 0 :(得分:1)

其中一种可能的方法是创建将永久运行的任务,然后根据请求停止它。

from proj.celery import app
app.control.revoke(task_id)

http://docs.celeryproject.org/en/latest/faq.html#can-i-cancel-the-execution-of-a-task