欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Ruby定時任務(wù)之一(初步嘗試)

     最近工作需要用到定時任務(wù)。原來寫java的時候也用到過類似的Scheduler的功能。

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供中國電信成都樞紐中心高防主機,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務(wù)。

     Ruby語言中也有同樣功能的工具。rufus-scheduler。下面介紹一下rufus-scheduler。

 定義:  a Ruby gem for scheduling pieces of code (jobs). It understands running a job AT a certain time, IN a certain time, EVERY x time or simply via a CRON statement.

     安裝:gem install rufus-scheduler(gem安裝是前提,再次不多言)

    

    使用:rufus-scheduler可以指定在特定時間時執(zhí)行,在從此刻開始間隔多長時間執(zhí)行,在特定時間間隔內(nèi)循執(zhí)行,在特定的cron時間執(zhí)行。例子如下:

   1:指定特定時間(或者超過指定時間)執(zhí)行 

 1 require 'rufus-scheduler'   2 scheduler = Rufus::Scheduler.new 3    4 puts Time.new 5 puts 'process begin----'   6 scheduler.at '2013-10-25 08:39:36 -0700' do 7   puts Time.new 8   puts 'Time is up'   9   puts 'order pizza'  10 end11 scheduler.join

輸出結(jié)果:

1 2013-10-25 08:38:09 -0700  2 process begin----  3 2013-10-25 08:39:36 -0700  4 Time is up5 order pizza

      如果設(shè)置的at時間在程序運行之前,比如設(shè)置的at時間為:2013-10-25 08:39:36。程序運行時的時間為2013-10-25 08:34:36。那么程序運行時候就執(zhí)行設(shè)置的事件

舉個例子:

   

 1 require 'rufus-scheduler'   2 scheduler = Rufus::Scheduler.new 3    4 puts Time.new 5 puts 'process begin----'   6 scheduler.at '2013-10-25 08:39:36 -0700' do 7   puts Time.new 8   puts 'Time is up'   9   puts 'order pizza'  10 end11 scheduler.join

輸出結(jié)果:

1 2013-10-25 08:45:53 -0700  2 process begin----  3 2013-10-25 08:45:53 -0700  4 Time is up5 order pizza

 

   2:在從此刻開始間隔多長時間執(zhí)行

    

1 require 'rufus-scheduler'  2 scheduler = Rufus::Scheduler.new3   4 puts Time.new5 scheduler.in '1s' do6   puts Time.new7   puts 'Hello...Word'  8 end9 scheduler.join

輸出結(jié)果:

 

1 2013-10-25 02:56:02 -0700  2 2013-10-25 02:56:03 -0700  3 Hello... Word

 3:在特定時間間隔內(nèi)執(zhí)行

     

1 require 'rufus-scheduler'  2 scheduler = Rufus::Scheduler.new3   4 puts Time.new5 scheduler.every '1s' do6   puts Time.new7   puts 'Hello... Word'  8 end9 scheduler.join

輸出結(jié)果:

 1 2013-10-25 03:05:38 -0700   2 2013-10-25 03:05:39 -0700   3 Hello... Word 4 2013-10-25 03:05:41 -0700   5 Hello... Word 6 2013-10-25 03:05:42 -0700   7 Hello... Word 8 2013-10-25 03:05:43 -0700   9 Hello... Word10 2013-10-25 03:05:44 -0700  11 Hello... Word

 4:在特定的cron時間執(zhí)行

 1 require 'rufus-scheduler'   2 scheduler = Rufus::Scheduler.new 3    4 puts Time.new 5 puts 'process begin----'   6 scheduler.cron '/1 * * * *' do 7   puts Time.new 8   puts 'Hello word'   9 end10 scheduler.join

輸出結(jié)果:

 1 2013-10-25 08:57:46 -0700   2 process begin----   3 2013-10-25 08:58:00 -0700   4 Hello word 5 2013-10-25 08:59:00 -0700   6 Hello word 7 2013-10-25 09:00:00 -0700   8 Hello word 9 2013-10-25 09:01:00 -0700  10 Hello word11 2013-10-25 09:02:00 -0700  12 Hello word13 2013-10-25 09:03:00 -0700  14 Hello word

至于cron的使用方法,請參考cron相關(guān)文章。

 

此文只是Ruby定時任務(wù)的初步,在下一篇中和大家一起進入深一步的分析。

 

分享名稱:Ruby定時任務(wù)之一(初步嘗試)
網(wǎng)站地址:http://www.chinadenli.net/article12/gsjedc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)微信公眾號定制網(wǎng)站域名注冊網(wǎng)頁設(shè)計公司自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)