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.