欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > ruby執行周期性任務的三種gem介紹

ruby執行周期性任務的三種gem介紹

熱門標簽:漯河電銷 巫師3地圖標注魔力之所 征服者企業地圖標注 中牟外呼系統違法嗎 淮安自動外呼系統供應商 外呼線路從哪里出來的 AI電銷機器人 線路 柯城手機地圖如何做地圖標注 天津外呼系統怎么收費

1.whenever

首先,whenever是基于linux的cron服務的,所以,在windows平臺上沒有直接的方法使用該gem。whenever嚴格來說應該算一個cron的翻譯器,將ruby代碼翻譯為cron腳本,從而將周期性任務轉交給cron實際去完成。對于精通cron的shell程序員來說可能不值一提,但對rubyist卻不是。首先,我們可以使用ruby語言來書寫任務代碼,在ruby層面上控制代碼,避免了和一些shell腳本的切換;另外,cron命令很強大,但我總是記不住它的命令參數,為了避免一遍一遍去man它的手冊,還是ruby語法比較親民。

首先,安裝whenever:

復制代碼 代碼如下:

$ gem install whenever

   然后切換到任務編寫文件夾project下,保證該文件夾下有一個config文件夾。如果是在rails項目中建立whenever任務,則config文件夾已經存在了。

復制代碼 代碼如下:

$ cd /project 
$ wheneverize .

whenverize命令會在config文件夾下創建schedule.rb文件,我們的任務代碼需要在該文件中定義。下面的是schedule.rb文件示例:

every 30.minutes do
 runner "Blog.parseAll"
end

every 30.minutes, :at => 17 do
 runner "PostWeibo.post"
end

every 15.minutes do 
 runner "WeiBo.update"
end

every 30.minutes, :at => 20 do
 runner "RSSGenerator.generate"
end

every 1.day, :at => '2:00 am' do
 command "cd /var/www/mzread/current/public  gunzip -c sitemap1.xml.gz > sitemap1.xml  touch sitemap1.xml "
end

如示例代碼,whenever默認定義了三種任務類型:runner, rake, command,我們也可以定義自己的任務,比如,下面的代碼定義了脫離rails環境,獨立執行ruby代碼的類型:

job_type :ruby, "cd :path  /usr/bin/ruby ':task'.rb" 
 
every :hour do 
 ruby 'have_a_rest' 
end

該示例描述了:每個小時會執行一次當前文件夾下的have_a_rest.rb腳本。

下面看看怎么將任務寫入cron服務。 

$ whenever   #不帶參數的whenever會顯示轉換程cron任務的代碼,不寫入cron任務表 
$ whenever -w #寫入cron任務表,開始執行 
$ whenever -c #取消任務
如果要查看cron任務表,也可以使用linux的命令列出所有cron任務:

$ crontab -l

2.sidetiq

sidetiq是sidekiq的親兄弟,如果在rails項目中使用sidekiq來處理后臺任務,那么就用sidetiq來交付周期性任務也顯得比較自然。

安裝sidetiq:

復制代碼 代碼如下:

$ [sudo] gem install sidetiq

      定義周期性任務:

class MyWorker 
 include Sidekiq::Worker 
 include Sidetiq::Schedulable 
 
 recurrence { daily } 
 
 def perform 
 # do stuff ... 
 end 
end

     sidetiq和sidekiq一樣,依賴于redis消息來處理消息。當rails項目啟動后,這些周期性任務會自動加載執行。

3.clockwork

clockwork和sidetiq一樣,也不必依賴于cron,可以適應”跨平臺“要求。下面是代碼示例(clock.rb):

require 'clockwork' 
include Clockwork 
 
handler do |job| 
 puts "Running #{job}" 
end 
 
every(10.seconds, 'frequent.job') 
every(3.minutes, 'less.frequent.job') 
every(1.hour, 'hourly.job') 
 
every(1.day, 'midnight.job', :at => '00:00')

    啟動任務:

$ clockwork clock.rb 
Starting clock for 4 events: [ frequent.job less.frequent.job hourly.job midnight.job ] 
Triggering frequent.job

如果要帶上rails環境,就在任務文件加入:

require './config/boot' 
require './config/environment'

您可能感興趣的文章:
  • Ruby中gem包管理器的用法及用bundler來管理多版本的gem
  • Ruby中的gem包管理的使用及gem源搭建教程
  • Ruby包管理器gem常用命令
  • 創建自定義的Ruby gem包的教程
  • Ruby環境下安裝使用bundler來管理多版本的gem

標簽:河池 棗莊 大慶 內江 克拉瑪依 南昌 西雙版納 甘孜

巨人網絡通訊聲明:本文標題《ruby執行周期性任務的三種gem介紹》,本文關鍵詞  ruby,執行,周期性,任務,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ruby執行周期性任務的三種gem介紹》相關的同類信息!
  • 本頁收集關于ruby執行周期性任務的三種gem介紹的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    久久久久久久久免费看无码| 欧美大片在线观看| 亚洲色图一区二区三区| 国产一区二区三区久久悠悠色av| 亚洲天堂网一区二区| 欧美一区欧美二区| 亚洲成人av资源| 久草视频福利在线| 欧美丰满嫩嫩电影| 亚洲乱码中文字幕综合| 99re成人在线| 欧美在线视频日韩| 亚洲一区二区三区小说| wwwxx日本| 欧美一区二区福利在线| 日本美女一区二区三区视频| 亚洲做受高潮无遮挡| 精品福利在线导航| 国产精品77777竹菊影视小说| 青青操在线播放| 国产精品理伦片| 女王人厕视频2ⅴk| 欧美日韩一区二区三区视频| 五月天激情综合| 人妻av无码一区二区三区| 久久久精品2019中文字幕之3| 国产精品一区二区果冻传媒| 91视频青青草| 亚洲精品一二三四区| 精品国产乱码久久久久夜深人妻| 91精品福利在线一区二区三区| 美日韩黄色大片| 黄大色黄女片18免费| 中文幕一区二区三区久久蜜桃| 波多野结衣中文字幕一区 | 日本视频免费一区| 99久久久无码国产精品性| 国产婷婷色一区二区三区| 成人夜色视频网站在线观看| 在线一区二区三区做爰视频网站| 亚洲aaa精品| 中文字幕人妻一区二区三区在线视频| 国产女人18水真多18精品一级做| 99久久婷婷国产综合精品电影| 欧美日韩精品二区第二页| 日韩av一区二区三区四区| 内射毛片内射国产夫妻| 综合久久久久综合| 亚洲国产精品自拍视频| 久久精品综合网| 94-欧美-setu| 精品美女在线观看| 成人免费av网站| 欧美一区二区三区影视| 国产精品一区在线| 欧美日韩免费高清一区色橹橹 | 国产欧美日韩亚州综合| 99精品欧美一区二区蜜桃免费| 欧美一区中文字幕| 成人免费视频app| 91精品国产美女浴室洗澡无遮挡| 国产福利一区二区三区视频在线| 欧美色综合久久| 国产在线精品不卡| 欧美色视频在线| 国产一区二区成人久久免费影院| 欧美中文字幕一二三区视频| 国产在线精品一区二区三区不卡 | 朝桐光av在线| 奇米影视一区二区三区小说| 亚洲区一区二区三| 午夜精品久久久久久久久久久 | 男人的天堂亚洲一区| 九九热最新地址| 免费观看在线综合色| 色94色欧美sute亚洲线路二| 麻豆精品在线看| 欧美调教femdomvk| 国产成人在线视频网址| 欧美一区二区三区系列电影| 成人国产视频在线观看| 精品卡一卡二卡三卡四在线| 能看毛片的网站| 国产精品情趣视频| 亚洲久久久久久久| 亚洲午夜视频在线| 看免费黄色录像| 久久99国产精品久久99| 在线91免费看| 91丨九色丨国产丨porny| 国产欧美一区二区在线观看| 亚洲最大免费视频| 一区二区三区欧美日| 任我爽在线视频| 黑人巨大精品欧美一区| 日韩一区二区三区在线| 日本天堂在线播放| 亚洲精品自拍动漫在线| 99久久婷婷国产综合| 国产精品99久| 久久久久久**毛片大全| 久久久久久久久久久久| 日韩精品亚洲一区| 欧美人妇做爰xxxⅹ性高电影 | 成人国产精品视频| 国产日韩欧美不卡| 女人又爽又黄免费女仆| 青青青爽久久午夜综合久久午夜| 3atv一区二区三区| 色综合久久久无码中文字幕波多| 亚洲欧洲精品成人久久奇米网| 天天色天天综合| 国产成人一区在线| 国产丝袜美腿一区二区三区| 亚洲第一综合网| 精品一区二区三区视频| 精品国产免费一区二区三区四区| 国产xxxxxxxxx| 国产精品无人区| 中文字幕不卡的av| xxxwww国产| 男人操女人的视频在线观看欧美| 午夜理伦三级做爰电影| 午夜精品免费在线观看| 制服.丝袜.亚洲.中文.综合| 亚洲美女精品视频| 亚洲一级在线观看| 91 com成人网| 日韩免费高清一区二区| 天堂影院一区二区| 91精品国产综合久久久久| 99久久免费看精品国产一区| 日日夜夜一区二区| 日韩一级二级三级精品视频| 亚洲一级中文字幕| 另类小说欧美激情| 久久久久久9999| 国产探花在线视频| 成人国产精品免费观看视频| 亚洲男女一区二区三区| 欧美色综合网站| 成人手机在线免费视频| 裸体一区二区三区| 欧美国产日产图区| 久久久久久久久毛片| 黄色片子免费看| 天堂av在线一区| 精品免费视频.| 国产又粗又猛又爽又黄的视频小说| 国产一区二区三区在线观看精品 | 日本不卡视频一二三区| 欧美成人精品福利| 女人18毛片毛片毛片毛片区二 | 日本一区二区高清| 日本午夜在线观看| 免费看的av网站| 日本人妖一区二区| 久久精品在线观看| 色噜噜狠狠色综合中国| 深田咏美中文字幕| 国内精品嫩模私拍在线| 欧美国产一区视频在线观看| 欧美亚州韩日在线看免费版国语版| 动漫美女无遮挡免费| 国产在线日韩欧美| 一区二区三区四区在线免费观看| 日韩女优av电影| 波多野结衣家庭教师在线观看| 懂色av噜噜一区二区三区av| 亚洲一区视频在线| 欧美成人精品3d动漫h| 国产男女猛烈无遮挡在线喷水| 99精品欧美一区二区蜜桃免费| 日韩不卡手机在线v区| 亚洲国产精品成人久久综合一区| 欧美天堂一区二区三区| 亚洲精品国产一区黑色丝袜| jvid福利写真一区二区三区| 日日欢夜夜爽一区| 国产精品丝袜黑色高跟| 欧美久久久久中文字幕| 自拍偷拍你懂的| 亚洲成a人无码| 国产精品综合av一区二区国产馆| 一区二区三区久久| 国产欧美综合在线观看第十页| 欧美日韩视频在线一区二区| 2019男人天堂| 人妻换人妻仑乱| 国产精品一区二区三区99| 午夜精品久久久久久久99樱桃 | 国产精品一区二区三区网站| 亚洲一级二级三级| 国产精品区一区二区三| 日韩免费视频线观看| 在线观看亚洲a| 1024手机在线观看你懂的| 亚洲美女高潮久久久| 国产成人av影院| 日韩国产欧美在线播放|