pri*_*stc 10 django django-signals celery
我有一个在Celerybeat实例中运行的任务.当执行该任务时,它有时会修改一个模型对象,该对象应触发post/pre_save信号,但事实并非如此.信号没有发生.我想这是因为Django的信号是同步的,而芹菜在不同的宇宙中的不同线程中的不同服务器上做这件事.是否有一种简单的方法可以让这些信号在芹菜中运行时被点燃?
ask*_*sol 18
Django信号是本地的,这意味着信号处理程序也必须在worker中注册.
如果您的信号处理程序已连接到例如models.py,那么您需要将其导入tasks.py以确保它也在工作程序中连接.
或者,您可以使用以下CELERY_IMPORTS设置指定worker应导入的其他模块:
CELERY_IMPORTS = ("myapp.handlers", )
Run Code Online (Sandbox Code Playgroud)
或-I芹菜的论点.
$ python manage.py celeryd -I myapp.handlers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2526 次 |
| 最近记录: |