我已经阅读了一下,发现这与并发有关,因为celery与python应用程序位于不同的线程中,因此它们无法编辑应用程序变量。因此,相反,我通过创建一个对象来修改数据库,希望django signal会选择它,但事实并非如此。我这样做是因为我需要知道后端是否发生了更新,以便SPA前端可以自动获取它。有小费吗?
答案 0 :(得分:0)
Django信号仅在进程中起作用。因此,在芹菜中进行模型更改会触发信号在芹菜中发生。如果您需要通知单页应用程序,则(1)使用websocket或(2)通过SPA将task_id传递给SPA,以便它可以在任务完成时进行轮询,然后采取必要的措施。