12

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?

Arslan Ali
  • 17,418
  • 8
  • 58
  • 76

3 Answers3

22

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.

eugen
  • 8,916
  • 11
  • 57
  • 65
15

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
stevec
  • 41,291
  • 27
  • 223
  • 311
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.

Jaehyun Shin
  • 1,562
  • 14
  • 25
  • No, I asked regarding how to end a schedule process that was already running, and I can't wait it to stop automatically. – Arslan Ali Aug 11 '16 at 16:28