[英]Ruby on Rails Cron Job Example
嗨,對於rails平台來說還是一個新手,你正在尋找一個rails cron作業調度教程。 我已經遍歷了教程的用法,無論何時何地,以及其他計划中的gems,但是我一直在尋找一個核心的ruby實現,它的cron選項卡在軌道上。 先感謝您
要設置cron作業,您可以依賴名為WHENEVER的簡單gem的幫助
它很容易實現。 去吧。
為了在“core”rails / ruby中設置“cron-like”任務的最小化,我創建了https://github.com/Ebbe/arask
無需安裝任何東西(gem除外)或在滑軌之外進行任何設置。
將gem 'arask'
添加到您的Gemfile中,運行bundle install
, rails generate arask:install
和rails db:migrate
。
現在,您可以在config / initializers / arask.rb文件中設置任務:
arask.create task: 'send:logs', cron: '0 2 * * *' # At 02:00 every day
arask.create script: 'puts "IM ALIVE!"', interval: :daily
arask.create task: 'my:awesome_task', interval: :hourly
arask.create task: 'my:other_awesome_task', interval: 2.hours
如果服務器正在運行,任務將自動運行。
您還可以使用外部免費服務來外包cronjobs http://guardiano.getpeople.in
免責聲明:我做到了
我正在使用rufus-scheduler
,它使用線程來執行調度的函數。 配置非常簡單。 只需3個步驟:
1 - 添加寶石gem 'rufus-scheduler', '~> 3.6'
2-創建文件config/initializers/scheduler.rb
3 - scheduler.rb中的編程時間表:
require 'rufus-scheduler'
s = Rufus::Scheduler.singleton
s.every '5s' do
#do every 5 seconds exec this code
puts "WOWWWWWWWWWWWWWWWWWWWW"
end
scheduler.in '2d' do
# every 2 days exec this
puts "Now it's me"
end
如有更多疑問: https : //github.com/jmettraux/rufus-scheduler
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.