Похоже, вам просто нужно периодически выполнять задание один раз в день. В настоящее время рекомендуемый способ сделать это в Heroku - использовать планировщик :
Планировщик - это надстройка для запуска заданий в приложении через запланированные промежутки времени, аналогично cron
в традиционной серверной среде.
Панель инструментов позволяет настраивать задания на запуск каждые 10 минут, каждый час или каждый день в указанное время. При вызове эти задания будут выполняться как одноразовые процессы и отображаться в ваших журналах как процесс с именем run.N.
Основной процесс довольно прост:
Настройте задачу Rake, чтобы сделать все, что вам нужно:
desc "This task does ..."
task :your_task => :environment do
# Do something interesting...
end
Добавьте надстройку планировщика обычным способом:
$ heroku addons:add scheduler:standard
Затем добавьте новое задание Rake через панель управления Heroku.
Если вы хотите запускать периодическое задание за пределами Heroku, настройте задание cron для запуска соответствующего задания Rake.