Допустим на сервере уже запущен RabbitMQ, работают воркеры. Но вот сделали обновление в скрипте воркера (изменили какой-то код).
Как загрузить эти обновления так, чтобы не перезапускать все воркеры, а чтобы они работали, мы загрузили обновление, воркеры завершили полностью свою работу, а потом запускались уже воркеры с новым обновлением?
В общем как сделать бесшовное обновление воркеров/сервера очередей?
Ну, nginx по-умолчанию — мастер-процесс, который порождает воркеры и реагирует на сигналы. Получив сигнал на софт-релоад, мастер порождает новые воркеры и завершает старые в момент завершения задач.
Исходники открыты...