"Whenever" gem running cron jobs on Heroku
You need to add Heroku Scheduler addon.
You can add it directly from your dashboard or using following commands:
install the
add-on
:heroku addons:create scheduler:standard
Create a rake task in
lib/tasks
# lib/tasks/scheduler.rake task :send_reminders => :environment do User.send_reminders end
Schedule job
- Visit Heroku Dashboard
- Open your app
- Select Scheduler from
add-ons
list Click Add Job, enter a task and select frequency.
e.g. Add
rake send_reminders
, select"Daily"
and"00:00"
to send reminders every day at midnight.
Short answer: use the scheduler add-on: http://addons.heroku.com/scheduler
Long answer: When you do heroku run, we
- spin up a dyno
- put your code on it
- execute your command, wait for it to finish
- throw the dyno away
Any changes you made to crontab would be immediately thrown away. Everything is ephemeral, you cannot edit files on heroku, just push new code.