Heroku Scheduler uses a One-off Dyno to run the scheduled task. That dyno doesn't appear in Heroku Dashboard, but it's there. How can I restart it, or temporarily stop it?
If you have the command line tools installed, heroku ps
will list all the running processes, and you can use ps:kill
or ps:restart
to manage any of them.
heroku help ps
will give you more details.
To stop a scheduled task, find its ID with:
heroku ps
=== scheduler (Free): bundle exec rake myraketask (1)
scheduler.7114: up 2019/02/24 14:50:36 +1100 (~ 24m ago)
=== web (Free): bin/rails server -p $PORT -e $RAILS_ENV (1)
web.1: up 2019/02/24 14:58:53 +1100 (~ 16m ago)
In the above, scheduler.7114
is the scheduled task ID.
Stop it with:
heroku stop scheduler.7114
Other useful notes
If you need to restart it:
heroku restart scheduler.7114
Or if you need to kill it (e.g. if you see a R16 -Detached error):
heroku kill scheduler.7114
- Note the difference between
kill
andstop
is that stop will stop it gracefully, whereas kill will not
You do not need to restart or stop. There are no dynos on Heroku dashboard, but you can find your scheduler in Heroku Scheduler dashboard.
You can set your schedulling tasks with running time you want and dyno plan.
When the time you set come, heroku scheduler dyno is started. After finishing the work, dyno is killed.
If you want to run manually, just call heroku run rake xxxx
command.
© 2022 - 2024 — McMap. All rights reserved.