2012-03-19 99 views

回答

2

聽起來像是你只需要一個週期性的任務每天運行一次。目前推薦的方法做,在Heroku的是使用scheduler add-on

計劃是在預定的時間間隔對您的應用程序運行的作業,就像在傳統的服務器環境cron的附加。

儀表板允許您將作業配置爲在指定時間每隔10分鐘,每小時或每天運行一次。被調用時,這些作業將作爲一次性進程運行,並在您的日誌中顯示爲名爲run.N的進程。

的基本過程是非常簡單的:

  1. 建立一個Rake任務來做什麼是你需要做的:

    desc "This task does ..." 
    task :your_task => :environment do 
        # Do something interesting... 
    end 
    
  2. 添加調度附加在通常的方式:

    $ heroku addons:add scheduler:standard 
    
  3. 然後通過Heroku儀表板添加新的Rake任務。

如果你想運行的Heroku以外的週期性任務,然後建立一個cron作業運行相應的Rake任務。

1

您可能希望將此任務放入處理重複進程或任務的Cron作業中。

這裏是瑞安貝茨的主題禮貌極好的截屏: http://railscasts.com/episodes/164-cron-in-ruby-revised


如果您需要設置在Heroku上經常性的工作,你只需要添加你的任務lib/tasks/scheduler.rake和使用進行配置程序器附加

http://devcenter.heroku.com/articles/scheduler

+0

這將在Heroku上工作嗎? – 2012-03-19 18:17:04

+0

@Ringo:如果你創建了一個'lib/tasks/cron.task'並配置了cron插件,那麼cron add-on會被棄用,而不再支持調度器插件。 – 2012-03-19 19:17:21

相關問題