I created an app that uses the whenever gem. The gem creates cron jobs. I got it working locally but can't seem to get it working on heroku cedar. What's the command to do this?
running:
heroku run whenever --update-crontab job1
doesn't work
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.
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.
来源:https://stackoverflow.com/questions/8619754/whenever-gem-running-cron-jobs-on-heroku