2011-12-23 56 views
36

我創建了一個使用每當寶石的應用程序。寶石創建cron作業。我在本地工作,但似乎無法讓它在heroku雪松上工作。什麼是這樣做的命令?「每當」Heroku在Heroku上運行cron作業

運行:

heroku run whenever --update-crontab job1 

不起作用

回答

68

簡短的回答:使用調度附加:http://addons.heroku.com/scheduler

龍回答:當你的Heroku運行,我們

  1. 旋轉起來一個動態
  2. 把你的代碼就可以了
  3. 執行你的命令,等待它完成
  4. 扔到了極致遠

您做出的crontab會立即扔掉任何更改。一切都是短暫的,你不能編輯heroku上的文件,只需推新的代碼。

+2

簡答題;爲我做了詭計。 – RedRory 2012-02-10 20:36:36

+0

長時間運行的任務應該怎麼做? (需要幾個小時才能執行) – slykat 2012-12-18 21:29:45

+1

這很好,你會得到24小時完成 – Will 2012-12-20 03:10:08

3

您需要添加Heroku Scheduler插件。

您可以直接從您的儀表盤添加它,或者使用下面的命令:

  1. 安裝add-on

    heroku addons:create scheduler:standard 
    
  2. lib/tasks

    # lib/tasks/scheduler.rake 
    task :send_reminders => :environment do 
        User.send_reminders 
    end 
    
  3. 創建rake任務日程安排

    • 訪問Heroku Dashboard
    • 打開應用
    • 選擇調度add-ons列表
    • 點擊添加作業,輸入任務並選擇頻率。

      例如添加rake send_reminders,選擇"Daily""00:00"每天的午夜發送提醒。

Heroku add cron task