Остановите определенную работу при развертывании новой версии приложения Sinatra
У меня есть задание rufus-scheduler, работающее в приложении Sinatra (Phusion Passenger с NGINX). На дне app.rb
Я имею:
scheduler.every '5m' do
do_something_cool
end
Это работа работает. Но когда я использую Capistrano для обновления приложения новой версией, я замечаю, что старое задание все еще присутствует, и каждый запускается с 5-минутным интервалом.
Как мне убедиться, что старое задание rufus-scheduler выключено, а новое запущено?
Я попытался добавить это внизу:
at_exit do
if scheduler
scheduler.shutdown
end
end
Но это не сработало.
1 ответ
Я не знаком с rufus-scheduler
, но, как я прочитал в документации, он просто использует потоки для графика. Так что вам просто нужно убедиться, что ваш старый процесс был закрыт.