Остановите определенную работу при развертывании новой версии приложения Sinatra - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть задание rufus-scheduler, работающее в приложении Sinatra (Phusion Passenger с NGINX). Внизу app.rb у меня есть:

  scheduler.every '5m' do
    do_something_cool
  end

Это работа. Но когда я использую Capistrano для обновления приложения новой версией, я замечаю, что старое задание все еще присутствует, и каждый запускается с 5-минутным интервалом.

Как мне убедиться, что старое задание rufus-планировщика завершено, а новое запущено?

Я пытался добавить это внизу:

at_exit do
  if scheduler
    scheduler.shutdown
  end
end

Но это не сработало.

1 Ответ

0 голосов
/ 28 апреля 2018

Я не знаком с rufus-scheduler, но, как я прочитал в документации , он просто использует потоки для расписания. Так что вам просто нужно убедиться, что ваш старый процесс был остановлен.

...