我试图找出让 zeroMQ 侦听器在我的 django 应用程序中永久运行的最佳方法。
我在我的 Django 项目中设置了一个 zmq 服务器应用程序,它充当我们网络中其他应用程序的内部 API(不需要通过 http/requests 的东西,因为这些应用程序是内部的)。我希望我的 django 项目中的 zmq 侦听器始终处于活动状态。
我想要我的 Django 项目中的 zmq 监听器,所以我可以访问所有项目模型(用于查询)和其他 django 上下文内容。
我目前在想:
设置一个 Django 管理命令,它将运行侦听器并使其永远保持活动状态(也就是 zmq 侦听器代码中的无限循环)或
使用芹菜工人始终保持 zmq 监听器活着?但我不完全确定如何让芹菜工人重新启动一项任务,除非它没有运行。所有 celery 文档都是关于频率/延迟运行的。或者也许我应该让 celery 在给定的时间间隔内清除任务并重新启动它。
关于性能影响或替代方法的任何提示、建议?