从异步Celery工作器发出的SocketIO不起作用

 厦禾Jimmy_218 发布于 2022-12-27 15:37

我正在使用Flask-SocketIO来创建一个实时通知系统.有一个外部API服务器通过RPC在一个单独的线程中调用socketio服务器.RPC调用的方法创建一个Celery任务,在使用它时,调用一个调用socketio.emit()的方法.但是,由于在javascript客户端中没有收到任何消息,因此实际上似乎没有发送消息.我的直觉告诉我,当Celery工作程序在一个单独的进程中运行时,被调用的socketio.emit()方法不会发送到连接的客户端,尽管这些对象存在于内存中的同一位置.服务器正在运行gevent,Celery正在接收并完成日志所看到的任务.此外,我已经验证了芹菜工人正在调用socketio.emit()并且我已经验证当直接调用任务时,绕过Celery,socketio按预期工作.在一个单独的过程中芹菜任务引用它时如何获得正确通信的任何想法?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有