Heroku обновил свой API, поэтому приведенные выше комментарии больше не работают.
Я выполнил более простой ответ на комментарии выше (в файле: # {Rails.root} /lib/tasks/schedualer.rake):
class HerokuMaintenance
def self.get_web_and_workers(get_ps_array)
output = []
get_ps_array.each do |i|
type = fetch('process',nil)
if type.match(/^worker\.\d+$/) or type.match(/^web\.\d+$/)
output << type
end
end
return output
end
#########################################################################
def self.restart_all
heroku_client.post_ps_restart(ENV['APP_NAME'])
end
#########################################################################
def self.get_ps_array(heroku_client)
heroku_client.get_ps(ENV['APP_NAME']).body
end
#########################################################################
def self.heroku_client
Heroku::API.new( :username => ENV['APP_USERNAME'] , :password => ENV['APP_PASSWORD'])
end
#########################################################################
desc "Restart app workers/web"
task :my_restart => :environment do
HerokuMaintenance.restart_all
end
Следуя инструкциям в https://devcenter.heroku.com/articles/scheduler
1. Герои аддонов: создать планировщик: стандарт
2. геройку беги грабли my_restart
3. дополнения heroku: открыть планировщик (я запускаю его каждый час из-за некоторых проблем с памятью, которые я еще не решил).