我正在与西芹节拍和工人在Kubernetes的一个项目。
我用这个配置运行了一个项目。
app = Celery('celery-worker',
broker=RABBITMQ_URL,
backend=REDIS_URL
)
app.conf.update(
result_expires=3600,
)
运行命令为:
celery -A app worker -B -l INFO
运行后,Celery Beat日志显示了许多行:backup_poller.cc:138] Run client channel backup poller: UNKNOWN:pollset_work {created_time:"2022-12-10T15:25:01.080085021+03:30", children:[UNKNOWN:Bad file descriptor {created_time:"2022-12-10T15:25:01.080072267+03:30", errno:9, os_error:"Bad file descriptor", syscall:"epoll_wait"}]}
在寻找了一些解决方案之后,我将Celery run命令中的pool选项更改为--pool=gevent
,但这也不起作用。
我怎样才能解决这个问题呢?
1条答案
按热度按时间ycggw6v21#
基于文档,对于生产环境,您需要单独启动celery beat。因此,您需要为Beat和Worker使用单独的pod,并仅为Worker pod使用--pool。