python - Celery 任务创建了一个新模型对象,但 django 信号没有拾取它
问题描述
我已经阅读并看到这与并发有关,芹菜无法编辑应用程序变量,因为它与 python 应用程序位于不同的线程中。因此,我通过创建一个对象来修改数据库,希望 django 信号能够接收到它,但事实并非如此。我这样做是因为我需要知道后端是否发生了更新,以便 SPA 前端可以自动获取它。有小费吗?
解决方案
Django 信号仅在进程中工作。因此在 celery 中进行模型更改将触发信号在 celery 中发生。如果您需要通知单页应用程序(1)使用 websocket 或(2)向 SPA 传递 task_id,以便它可以轮询任务何时完成,然后采取必要的措施。
推荐阅读
- angularjs - 如何在 AngularJS 中缓存 Ajax 'POST' 请求的响应
- python-3.x - TimeTrigger Azure 函数在 Azure 门户中没有出现模块错误,但在 VSC 中运行良好
- html - 无法为多个问题选择单选按钮选项
- javascript - 显示选项卡菜单的问题
- php - 数据显示 Json 中每个元素的最后一个元素数据
- c - 文件传输完成,但程序未收到文件结束条件以停止用 C 编写
- sql - 一列中两种不同条件的总和
- c# - Java.IO.FileNotFoundException:Xamarin.Forms
- xamarin - OnChildRemoved(Element child) 不适用于 Xamarin.Forms 4.8 版本
- python-3.x - 如何在python上找到它以前出现的索引?