2012-05-14 27 views
1

我想在Heroku上的應用程序上運行Rake腳本,這需要花費幾個小時。如果我從筆記本電腦上的控制檯啓動它,然後關閉筆記本電腦,腳本將停止(並且在腳本完成之前,我將不得不關閉筆記本電腦)。Rails:在服務器上啓動腳本,然後「離開」

我該怎麼做才能啓動這個rake腳本,而不是「綁定」到我的筆記本電腦上。即以便它繼續運行,直到它打破或完成?

heroku run rake update_feeds_complete --app myapp 

是運行腳本...

什麼命令等,以谷歌將是有益的,以及給予我的意見。

回答

0

我不熟悉的Heroku與特別,但在過去,當我遇到了這種情況下我用遙控器通過SSH執行:

ssh [email protected] -f 'your command here' 

這將打開一個SSH會話,執行你的命令,並然後關閉連接。但是你的腳本將繼續遠程運行。

+0

的Heroku不提供SSH訪問。 –

2

您可能也想看看調度程序。 https://devcenter.heroku.com/articles/scheduler

即使一次性運行rake任務也非常方便。

+0

我一直在使用調度器,它的作用就像一個魅力。我絕對推薦它,因爲它使用起來非常簡單。使用Heroku插件的不利之處在於您必須確認您的帳戶(並且涉及有效的信用卡號碼)。另外,請注意,當您使用此加載項運行一次性進程時,它會計入您當月的動態小時數。因此,如果您繼續執行大量任務,他們可以向您收費。 – Ashitaka

3

您可以run:detached運行命令,並關閉終端窗口,它們將繼續運行。所以,你只需要運行

heroku run:detached rake update_feeds_complete --app myapp

+0

這太棒了!有關該主題的更多信息:[在後臺運行任務](https://devcenter.heroku.com/articles/one-off-dynos#running-tasks-in-background) – Dziamid

相關問題