我尝试了 broker_connection_timeout 设置,但似乎不是我所期望的。文档here表示:
“代理连接超时仅适用于尝试执行以下操作的工作者 连接到代理。它不适用于发送任务的生产者, 有关如何为此设置超时的信息,请参见 broker_transport_options 情况。”
但是直到现在,我仍然找不到RabbitMQ
的正确 broker_transport_options 来设置send_task
的超时时间。请帮忙,谢谢!
答案 0 :(得分:0)
它应该起作用...唯一不起作用的情况(这是设计使然)是使用gevent。 -这是有记录的行为。
假设您使用文件celeryconfig.py
来配置Celery(通过使用config_from_object(yourpackage.celeryconfig)
)
它应该具有以下内容:
broker_transport_options = {"fanout_prefix": True,
"fanout_patterns": True,
"visibility_timeout": 86400,
"broker_connection_timeout", 10.0}
答案 1 :(得分:0)
尝试此配置
BROKER_TRANSPORT_OPTIONS = {“ max_retries”:3,“ interval_start”:0,“ interval_step”:0.2,“ interval_max”:0.5}
https://github.com/celery/celery/issues/4627#issuecomment-396907957