1. tbpgr

    Posted

    tbpgr
Changes in title
+ジョブスケジューリングを行う rufus-scheduler gem を試す #ruby
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,103 @@
+## :gem: 概要
+ジョブスケジューリングを行う rufus-scheduler gem を試しました
+
+## <i class="fa fa-cloud-download" style="font-size:1em;"></i> インストール
+
+~~~bash
+$ gem install rufus-scheduler
+~~~
+
+## <i class="fa fa-flask" style="font-size:1em;"></i> サンプル
+### サンプルコード: in
+
+~~~ruby:in.rb
+require 'rufus-scheduler'
+
+scheduler = Rufus::Scheduler.new
+puts Time.now
+scheduler.in '10s' do
+ puts Time.now
+ puts "10秒後に通知"
+end
+
+sleep(15)
+puts Time.now
+~~~
+
+* 出力確認
+
+~~~bash
+% ruby in.rb
+2015-04-24 22:20:58 +0900
+2015-04-24 22:21:08 +0900
+10秒後に通知
+2015-04-24 22:21:13 +0900
+~~~
+
+### サンプルコード: at
+
+~~~ruby:at.rb
+require 'rufus-scheduler'
+
+scheduler = Rufus::Scheduler.new
+puts Time.now
+scheduler.at '2015/04/24 22:30:00' do
+ puts Time.now
+ puts "2015/04/24 22:30:00 に通知"
+end
+
+sleep(15)
+puts Time.now
+~~~
+
+* 出力確認
+
+~~~bash
+% ruby at.rb
+2015-04-24 22:29:49 +0900
+2015-04-24 22:30:00 +0900
+2015/04/24 22:30:00 に通知
+2015-04-24 22:30:04 +0900
+~~~
+
+### サンプルコード: every
+
+~~~ruby:every.rb
+require 'rufus-scheduler'
+
+scheduler = Rufus::Scheduler.new
+puts Time.now
+scheduler.every '2s' do
+ puts Time.now
+ puts "2秒おきに通知"
+end
+
+sleep(10)
+puts Time.now
+~~~
+
+* 出力確認
+
+~~~bash
+% ruby every.rb
+2015-04-24 22:27:04 +0900
+2015-04-24 22:27:07 +0900
+2秒おきに通知
+2015-04-24 22:27:09 +0900
+2秒おきに通知
+2015-04-24 22:27:11 +0900
+2秒おきに通知
+2015-04-24 22:27:13 +0900
+2秒おきに通知
+2015-04-24 22:27:14 +0900
+~~~
+
+## その他
+cron 形式もサポート。
+詳細は、 GitHub の README 参照。
+
+<i class="fa fa-external-link" style="font-size:1em;"></i> [rufus-scheduler GitHub](https://github.com/jmettraux/rufus-scheduler)
+
+## :books: 外部資料
+* <i class="fa fa-external-link" style="font-size:1em;"></i> [rufus-scheduler GitHub](https://github.com/jmettraux/rufus-scheduler)
+* <i class="fa fa-external-link" style="font-size:1em;"></i> [rufus-scheduler RubyGems](https://rubygems.org/gems/rufus-scheduler)