我在用celery 和redis做经纪人。celery 进程创建以下两个特殊队列,用于管理工人和事件: _kombu.binding.celeryev
-用于管理事件 _kombu.binding.celery.pidbox
-用于管理工人
基础设施基础设施包括运行celery 工人使用码头集装箱。docker容器可以根据需要放大或缩小。这会导致以下问题:
以前注册的工人的推荐信不断被添加到 _kombu.binding.celery.pidbox
即使工人不复存在
事件队列 _kombu.binding.celeryev
不断填充属于工人的事件,这些事件可能不再有效。
为了清除事件队列,我尝试设置 event_queue_ttl
以及 event_queue_expires
但是没有用。
作为解决方法 _kombu.binding.celery.pidbox
,可以使用celery ping命令来识别活动的工人。然后使用redis库从pidbox中清除非活动worker。然而,这听起来并不是一个很好的清除队列的方法。话虽如此,我仍然无法达到一个变通阶段,以保持 _kombu.binding.celeryev
清除。
我期待着一个干净的方式来管理这两个队列在celery 工人可能在码头环境运行。
暂无答案!
目前还没有任何答案,快来回答吧!