26

我有一个需要在我的数据上运行的脚本。我为此做了一个耙子任务。如果我通过使用开始 rake 任务,heroku run rake my_task:my_action一段时间后我的互联网断开连接。会发生什么。任务是否会继续运行,因为它已在远程计算机上启动。我认为它将继续运行。有任何想法吗。

4

3 回答 3

72

以一次性测功机(使用 配置的测功机)启动的进程heroku run command连接到您的本地终端,如果您的互联网断开连接或您在本地取消命令,这些进程将终止。

要在未连接到本地终端的一次性测功机中执行进程,请使用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.

要检查一次性测功机是否仍在运行,请使用heroku ps. 一次性测功机被命名为某个数字run.X在哪里。X

于 2013-02-15T19:46:59.207 回答
1

伙计们,在尝试和探索之后,我发现在正常情况下它不会继续。当终端关闭时,管道破裂并停止继续。

于 2013-02-15T18:00:43.920 回答
1

screen如果您断开连接,您可以运行您的 rake以防止您的脚本/rake 中断。

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

于 2013-02-15T18:22:27.013 回答