Как настроить производителя сельдерея отправить тайм-аут задачи - PullRequest
0 голосов
/ 28 июня 2019

Я попробовал broker_connection_timeout настроек и, похоже, это не то, что я ожидал.В документации здесь сказано следующее:

"Тайм-аут соединения с брокером применяется только к работнику, пытающемуся подключиться к брокеру. Он не применяется к производителю, отправляющему задачу,см. broker_transport_options , чтобы узнать, как обеспечить время ожидания для этой ситуации. "

Но до сих пор я не могу найти правильные broker_transport_options для RabbitMQ для установкитаймаут для send_task.Пожалуйста, помогите, спасибо!

1 Ответ

0 голосов
/ 28 июня 2019

Это должно работать ... Единственный случай, когда он не работает (и это по замыслу), это если вы используете 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}
...