delayed_job在http://github.com/collectiveidea/delayed_job對於cron任務,Rails是否是「delayed_job」?
可以delayed_job有能力做cron任務嗎?比如每天凌晨1點運行腳本。或者每1小時運行一次腳本。
如果不是,有什麼適合的寶石可以做到這一點?並且可以使用瀏覽器進行遠程監控,並記錄成功和錯誤?
delayed_job在http://github.com/collectiveidea/delayed_job對於cron任務,Rails是否是「delayed_job」?
可以delayed_job有能力做cron任務嗎?比如每天凌晨1點運行腳本。或者每1小時運行一次腳本。
如果不是,有什麼適合的寶石可以做到這一點?並且可以使用瀏覽器進行遠程監控,並記錄成功和錯誤?
我參與了一個嘗試使用DelayedJob來安排未來項目的項目。它吸了。
相反,我建議你使用每當寶石:
http://github.com/javan/whenever
當是一個Ruby的寶石,提供了定義cron作業一 清晰的語法。 它輸出有效的cron語法,並且可以爲您編寫您的crontab文件。 它被設計成可以和Rails 應用程序一起使用,並且可以與 Capistrano一起部署。每當獨立工作時也可以很好地工作 。
代碼如下所示(從GitHub)
every 3.hours do
runner "MyModel.some_process"
rake "my:rake:task"
command "/usr/bin/my_great_command"
end
every 1.day, :at => '4:30 am' do
runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
end
every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
runner "SomeModel.ladeeda"
end
every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday
runner "Task.do_something_great"
end
Here的關於如何使用它RailsCast視頻。
和相應的ASCIICast。
每當工作很好。
我也很喜歡rufus-scheduler
/config/initializers/task_scheduler.rb
然後在該文件中:
scheduler = Rufus::Scheduler.start_new
scheduler.every("1m") do
DailyDigest.send_digest!
end
我最初發現這個貼here
我已經嘗試過了,效果很好。
現在我回頭看這個鏈接它幾乎是唯一軌道公司,我想爲之工作。他們製作了許多寶石,併爲社區增加了很多。更何況他們有一個龐大的團隊!
我運行多個cron delayed_jobs進行夜間統計和報告生成,並在特定時間間隔內進行數據報廢。下面是我如何做到這一點:
https://aaronvb.com/articles/recurring-delayed-job-with-cron.html
您也可以使用發條寶石: https://github.com/adamwiggins/clockwork-rails-dj
發條可以作爲獨立的後臺程序,可以用來觸發任何類型的,要麼被添加到該職位一個工作排隊系統或馬上運行。
使用Delayed_Job可以分配多個節點(或不是)的作業排隊系統。 使用其他方法在適當的時間將作業添加到隊列中。
我正在使用rake(或runner)/ cron /每當寶石安排後臺任務,但發現我的服務器負載非常高,因爲我會不斷用rake/runner加載rails環境。 Delayed_Job工作人員是您的rails守護進程保持運行,所以每次需要後臺任務時都不會不斷啓動Rails。
我創建了這個寶石:
https://github.com/sellect/delayed_cron
它與sidekiq和delayed_job的目前。希望儘快添加resque。我知道這有點晚,但它確實和你要找的東西差不多。
自2014-03-06起,delayed_cron gem與delayed_job無法正常工作。即使在修復DelayedCron :: Jobs :: DelayedJob#之後,執行gem仍然無法正常工作:具有間隔的cron作業不會重新計劃(無論作業是否成功完成)。 – cydparser 2015-04-03 01:39:11
@cydparser我個人不會使用delayed_job作爲delayed_cron的後臺處理器,我更喜歡sidekiq。但是,版本0.2.2和0.2.3中的delayed_cron類中的DelayedJob類已更新。你使用的是哪個版本的寶石?無論哪種方式,我計劃更新delayed_cron以使用Rail的ActiveJob來抽象作業適配器,以便與將來的不同背景處理器兼容不應成爲問題。 – jGRUBBS 2015-04-10 08:34:58
爲什麼/ delayed_job是如何吸引你的? – sscirrus 2011-10-09 23:06:22
我發現DJ工作人員不斷凍結,他們很難繼續跑步。 我已經切換到Sidekiq並從未回頭。這是完美的。絕對出色的作品。我希望我的公司能夠爲Sidekiq Pro的附加功能付出代價,僅僅因爲它太棒了。 – cpuguy83 2013-01-07 15:29:03
它確實很爛。我也去過那裏。 – OneChillDude 2014-10-01 20:42:12