If i close my terminal would a rake task started on Heroku continue to run
Asked Answered
B

3

29

I have a script which in need to run on my data. I have made a rake task for that. If i start the rake task by using heroku run rake my_task:my_action and after a while my internet disconnects. What would happen. Will the task continue to run as it has been initiated on a remote machine. I think it will continue to run. Any ideas.

Brunette answered 15/2, 2013 at 12:33 Comment(1)
why don't you just try it?Spicebush
M
77

Processes started in a one-off dyno (the kind of dyno that is provisioned with heroku run command) run attached to your local terminal and will terminate if your internet disconnects or you cancel the command locally.

To execute a process in a one-off dyno that is not attached to your local terminal, use heroku run:detached:

$ heroku run:detached bundle exec rake my_task:my_action
Running `bundle exec rake my_task:my_action` detached... up, run.7562
Use `heroku logs -p run.7562` to view the output.

To introspect whether the one-off dyno is still running use heroku ps. One-off dynos are named run.X where X is some number.

Marisamariscal answered 15/2, 2013 at 19:46 Comment(0)
B
1

Guys so after trying and exploring i have found that in normal circumstances it doesnt continue. When the terminal closes pipes breaks and it stops to continue.

Brunette answered 15/2, 2013 at 18:0 Comment(0)
J
1

You can run your rake in screen to prevent your script/rake from breaking if you get disconnected.

http://www.gnu.org/software/screen/manual/screen.html

Jeopardize answered 15/2, 2013 at 18:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.