Я столкнулся с проблемой с aws autoscaling + sidekiq заняты работой. У меня есть 4 экземпляра в группе автомасштабирования, и в этих экземплярах работают несколько процессов Sidekiq. Все экземпляры с использованием одинаковых redis.Остановить Sidekiq изящно при завершении Autoscale Экземпляр EC2
Если один из моих экземпляров заканчивается в это время, задания в его занятой очереди переходят в состояние отказа. Он должен поставить в очередь эту работу.
Я добавил один скрипт в папку /etc/rc0.d, который будет убивать процессы sidekiq во время истечения срока действия, но все же мои задания идут в состоянии сбоя. Я пробовал с TERM и USR1 сигнал для завершения процесса sidkeiq, но то же самое произошло с этими сигналами.
Я использовал sidkeiq pro, также включил надежную выборку.
Кто-нибудь знает, как достичь заданий в оживленной очереди, следует вставить в очередь не в состоянии faliure, а в процессе killig sidekiq вручную или изящно?
pls отправляет образец сценария и как вы использовали chkconfig для отвода в управление демона. Я использую эластичный beanstalk и sidekiq, но не волнуйтесь, ваш скрипт и демон plumbig будут действовать только как руководство для меня. спасибо – brg
Мне не разрешено делиться кодом, но основная структура, которую я написал, заключается в том, что служба запускается при запуске Sidekiq, затем она выполняет изящное завершение Sidekiq, когда оно обнаруживает остановку хоста, перезагрузку и т. д. –
Если ваш система использует chkconfig или что-то подобное, вы захотите создать сценарий в /etc/init.d/. Вы можете прочитать, как написать сценарий здесь: [link] (http://shahmirj.com/blog/beginners-guide-to-creating-a-daemon-in-linux) –