我正在开发一个包含两个组件的系统——一个 Django Web 应用程序和一个监控进程。
监控进程连接到某处的 TCP/IP 服务器并使用专有协议接收事件指示。它还可以再次使用专有协议向服务器发送命令。
我想将监视器作为守护进程运行。它将连接到服务器并持续监控传入的事件。每当有事件到达时,监视器就会更新数据库。Web 应用程序将从数据库中获取当前状态。
不过,我有点坚持发送命令。我将需要 Django 网络应用程序以某种方式与监控服务进行通信。我可以按照这里的建议使用 Pyro,但我更愿意使用 Celery,因为我已经将它用于系统的其他部分。
如何让 Celery 工作人员管理监视器连接和服务 Celery 请求?
注意:由于专有协议的限制,我无法打开到服务器的两个连接,因此不能让一个进程监视事件和另一个发送命令。