2013-04-15 69 views
2

是否有一個簡單的庫,可以讓我按照Web請求指定的每x秒安排一項非常簡單的任務?如何每x秒執行一次方法調用?

我要找的線沿線的東西:

Something.after(5) { call_method } 

很簡單。我是否必須安裝像resque這樣的庫,還是有一個庫可以處理這個問題?我不是在尋找完全成熟的後臺隊列處理,只是一個簡單的方法調用x秒後。我知道resque和sidekiq ...

我需要從Rails或Sinatra運行此。

+2

描述你的「由web請求進來的規定」的意思是什麼。允許傳入的Web請求自動觸發每隔X秒重新出現的作業是允許某人DOS系統進入DOS並快速使其不可用和不可用的好方法。你有防範嗎?設置一個按間隔運行的線程並不難。避免錯誤/重複請求更困難。 –

+1

也許[每當](https://github.com/javan/whenever)寶石是你在找什麼?不知道你是否將其視爲「全面的後臺隊列處理」(可能是)。 – aceofbassgreg

+0

除了其他評論之外,如果您將應用程序託管在Heroku等服務上,則必須考慮它們對這些情況的限制。在Heroku的特定情況下,您必須使用Delayed Job(DJ)作爲AFAIK。 – fmendez

回答

3

可能重寫代碼示例:

Something.after(5) { call_method } 

到:

Something 
Thread.new do 
    sleep(5) 
    call_method 
end 
0

這將是最好的出貨了這一點,以一個後臺任務,看看resque-scheduler & Resque。還有一個很好的Railscast值得一試。其他任何類似使用crons都不對。

我發現這個寶石(sucker_punch),它看起來像它會做你需要

相關問題