2016-04-04 43 views
0

我的應用程序(Rails中)應提供兩項主要任務:延遲工作與克龍Rails中

  • 創建活動(例如張貼到Twitter)在給定的時間在未來
  • 定期檢索器的幾個網站或下載推文

我在考慮使用DelayedJob gem或每當gem for cron任務。在這些情況下哪個更好?

感謝您的任何建議。

回答

1

在未來

建立在給定時間內的活動(例如張貼到Twitter)如果這是在響應事件/用戶動作,那麼後臺任務將是理想的,因爲它不是定期的時間表。 Ruby toolbox似乎有利於Resque和Sidekiq儘管延期工作,所以看看那些安頓之前。

定期檢索器的幾個站點或下載鳴叫

匡威以上,如果這是一個定期的事件,然後cron作業的理想選擇。爲此,使用whenever沒什麼問題,但要確保對作業有某種形式的監控,以便在出現問題時提醒您。

+0

好的,謝謝。我應該可以在我的PosgreSQL數據庫中使用Redis和Sidekiq,不是嗎? – kmaci

1

爲了創建活動,我肯定會使用後臺作業來完成這項工作(即PostToTwitterJob)。我傾向於Sidekiq而不是DelayedJob,因爲delayed_job似乎不再活躍。如果您希望將來在特定時間執行該作業,請查看sidekiq's documentation

至於抓取,我會同時使用。您的抓取工具是後臺工作(即TweetsCrawlerJob),您可以每小時使用whenever啓動它。