Restart the application on every reboot
This way we don't have to start it manually every time the server is restarted. Note if we start the application with `bin/rails s start -e production`, as we'd probably want to do so this task doesn't depend on the server we use, the application will crash when we restart it because it will be restarted in the development environment. Maybe this issue will be fixed in future versions of Rails and/or Puma. Also note we're passing `2` workers to delayed job, and this number must be the same number we use for the `delayed_job_workers` variable in capistrano. I haven't found a way to share this variable between whenever and capistrano.
This commit is contained in:
@@ -39,3 +39,9 @@ end
|
||||
every 1.day, at: "3:00 am", roles: [:cron] do
|
||||
rake "votes:reset_hot_score"
|
||||
end
|
||||
|
||||
every :reboot do
|
||||
command "cd #{@path} && bundle exec puma -C config/puma/#{@environment}.rb"
|
||||
# Number of workers must be kept in sync with capistrano's delayed_job_workers
|
||||
command "cd #{@path} && RAILS_ENV=#{@environment} bin/delayed_job -n 2 restart"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user