Heroku actualizó su API, entonces los comentarios arriba no funcionan más. Hice un giro más simple apagado en los comentarios anteriores (en el archivo: # {} 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
siguiendo las instrucciones de https://devcenter.heroku.com/articles/scheduler
1. complementos heroku: crean planificador: estándar
2. heroku carrera de rake my_restart
3. complementos heroku: planificador abierto (lo fijo para ejecutar cada hora debido a algunos problemas de memoria molestos no he resuelto todavía).
¿Crees que agregar dynos web dará una solución temporal? –