我正在寫一個小小的西納特拉應用程序,我想舉辦它Heroku爲簡單起見。但是,我所擁有的是一項任務,即每隔一小時將一些站點剪下並將一些數據添加到我的數據庫中。目前這只是寫成需要執行的ruby腳本。 Heroku有什麼是rake based cron job。現在,如果這是一個軌道應用程序,我可以很容易地做到這一點,但我想避免這樣簡單的事情混亂。如何運行的Heroku cron作業,與西納特拉應用
有沒有辦法避免這種情況?或者我必須安裝耙和我的應用程序?
謝謝。
埃裏克
我正在寫一個小小的西納特拉應用程序,我想舉辦它Heroku爲簡單起見。但是,我所擁有的是一項任務,即每隔一小時將一些站點剪下並將一些數據添加到我的數據庫中。目前這只是寫成需要執行的ruby腳本。 Heroku有什麼是rake based cron job。現在,如果這是一個軌道應用程序,我可以很容易地做到這一點,但我想避免這樣簡單的事情混亂。如何運行的Heroku cron作業,與西納特拉應用
有沒有辦法避免這種情況?或者我必須安裝耙和我的應用程序?
謝謝。
埃裏克
你需要一個Rake文件,如:
desc "This task is called by the Heroku cron add-on"
task :cron do
# Do something
end
的Heroku定期在您的應用程序取決於您是否選擇執行耙cron中的「cron的附加」每小時或每天。
再次看了,看起來像我跳過槍的問題。
對於非Rails應用程序,一個只是要創建一個Rakefile
並把任務那裏。
希望這有助於其他人。
乾杯!
您需要檢查魯弗斯。魯弗斯是你的朋友。當您的應用程序加載時,Rufus將成爲您的crontab。
我沒有嘗試在Heroku上這個東西,但是,給它一個嘗試,回覆給我們。
http://codex.heroku.com/past/2010/4/15/rufus_scheduler_for_my_tiny_sinatra_apps/
爲什麼魯弗斯是很酷?好吧檢查了這一點,它的清潔:)
$ sudo gem install rufus-scheduler
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.cron '00 23 30 * *' do
# Run every 30 days at 23h00m
# ...your magic code goes here...
end
外貌,良好。不幸的是,Heroku還不支持Rufus的寶石。 – 2010-10-07 16:07:26
autch!也許http://github.com/javan/whenever可能他們不支持任何關於他們支付的「cron」插件:/ – include 2010-10-19 13:02:57