How can I stop Heroku Dyno that is running a Rails task through Heroku Scheduler?
Asked Answered
W

3

13

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?

Weltschmerz answered 11/8, 2016 at 13:25 Comment(0)
S
23

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.

Sext answered 11/8, 2016 at 14:12 Comment(0)
B
18

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
Bioenergetics answered 24/2, 2019 at 4:21 Comment(0)
A
1

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.

Aback answered 11/8, 2016 at 14:11 Comment(1)
No, I asked regarding how to end a schedule process that was already running, and I can't wait it to stop automatically.Weltschmerz

© 2022 - 2024 — McMap. All rights reserved.