问题描述
我正在使用带有REdis的Celery作为代理。 Celery流程创建了以下两个用于管理工作人员和事件的特殊队列:
-
_kombu.binding.celeryev
-用于管理事件 -
_kombu.binding.celery.pidBox
-用于管理工人
基础结构 基础结构包括使用docker容器运行芹菜工人。可以根据需要按比例放大或缩小docker容器。这导致以下问题:
- 即使工人不复存在,以前注册的工人的引用也会不断添加
_kombu.binding.celery.pidBox
- 事件队列
_kombu.binding.celeryev
不断填充着属于工人的事件,这些事件可能不再有效。
为清除事件队列,我尝试设置event_queue_ttl
和event_queue_expires
,但没有用。
作为清除_kombu.binding.celery.pidBox
的一种解决方法,可以使用celery ping命令并标识活动的工作程序。然后使用REdis库从pidBox清除非活动工作程序。但是,这听起来并不是清除队列的好方法。话虽如此,我仍然无法进入变通状态以保持_kombu.binding.celeryev
清晰。
我期待有一种干净的方法来管理这两个队列,而这两个队列中的芹菜工作者可能正在docker环境中运行。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)