2010-03-31

wheneverでcron処理情報を管理

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyでcron処理を記述し、実際にcrontabに記載を行うwheneverというものがあることを知りました。

インストール方や利用方法は、
http://tobysoft.net/wiki/index.php?Ruby%2FRuby%20on%20Rails%2Fcron%C5%AA%A4%CA%A4%B3%A4%C8%2Fwhenever
を見ていただくのがよいです。

RAILS_ROOT/config/schedule.rbに
以下のように書いておけば
every 2.days, :at => '4:30am' do
  command "/usr/bin/my_great_command" 
end
crontabに
30 4 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * /usr/bin/my_great_command
と書いてくれるわけです。
RAILS_ROOT配下にcronに関する情報も記載できるのがいい感じだと思います。

こんな感じで毎月5日に実行する処理みたいなことを書きたいと思ったのですが、
at
にどういうふうに書けばよいのかわからなかったのですが、
every 1.months, :at => "jan 5th 22:00"
ととりあえず月まで入れてしまって日付をしていすることで指定できました。
このように指定してもちゃんと毎月の設定になりました。

atの部分の記載は、
Chronic
というものでパースをしているようです。

Chronicについては
http://chronic.rubyforge.org/
をみてください。
こちらのような記述がatの部分にできいるようです。
いろいろな形で指定できるようです。
コメントを投稿