问题
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
回答1:
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.
回答2:
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