Rabbitmq.conf consumer_timeout не работает в docker

Я пытаюсь выполнить более длинную задачу с помощью celery, поэтому для проверки я сделал пример задачи, которая спит в течение 5 минут, и установил в файл rabbitmq.conf единственную строку, содержащую consumer_timeout = 10000, ожидая, что задача завершится с ошибкой предусловия через 10 секунд (или, по крайней мере, через 60 секунд согласно этому ответу ), но этого так и не произошло. Задача завершается через 5 минут. Я вижу, что файл rabbitmq.conf отображается поверх логов (что, я думаю, означает, что файл успешно загружен?)

main_rabbitmq         |   Config file(s): /etc/rabbitmq/rabbitmq.conf
main_rabbitmq         |                   /etc/rabbitmq/conf.d/10-default-guest-user.conf

Мой Dockerfile:

FROM rabbitmq:3.9.13-management

# Define environment variables.
ENV RABBITMQ_USER user
ENV RABBITMQ_PASSWORD password
ENV RABBITMQ_PID_FILE /var/lib/rabbitmq/mnesia/rabbitmq

COPY ./myrabbit.conf /etc/rabbitmq/rabbitmq.conf

ADD init.sh /init.sh
RUN chmod +x /init.sh

# Define default command
CMD ["/init.sh"]

Файл init.sh похож на это.

Я вижу такое же поведение, как и вы, пожалуйста, посмотрите этот репозиторий:

https://github.com/lukebakken/stackoverflow-72318314-1466825

Обратите внимание, что я внес некоторые улучшения в ваш пользовательский скрипт точки входа.

Я вижу, что параметр consumer_timeout применяется правильно, так что есть какое-то поведение вокруг этого, которое я либо не понимаю, либо это ошибка.


NOTE: команда RabbitMQ следит за rabbitmq-users списком рассылки и лишь иногда отвечает на вопросы на StackOverflow.

Вернуться на верх