Celery任务创建了一个新的模型对象,但是django signal不会将其拾取

时间:2019-03-01 06:56:18

标签: python django-models celery

我已经阅读了一下,发现这与并发有关,因为celery与python应用程序位于不同的线程中,因此它们无法编辑应用程序变量。因此,相反,我通过创建一个对象来修改数据库,希望django signal会选择它,但事实并非如此。我这样做是因为我需要知道后端是否发生了更新,以便SPA前端可以自动获取它。有小费吗?

1 个答案:

答案 0 :(得分:0)

Django信号仅在进程中起作用。因此,在芹菜中进行模型更改会触发信号在芹菜中发生。如果您需要通知单页应用程序,则(1)使用websocket或(2)通过SPA将task_id传递给SPA,以便它可以在任务完成时进行轮询,然后采取必要的措施。