% crontab -l
30 17 * * 2,5 GEM_HOME=/opt/local/lib/ruby/gems/1.8 /Users/komagata/bin/ticket_alert.rb
cronで実行するときはGEM_HOMEを指定するのがコツみたい。
ticket_alert.rb:
#!/usr/bin/env ruby
require 'rubygems'
require 'rb-skypemac'
class TicketAlert
def self.run!(chat_id, msg)
SkypeMac::Skype.send_(:command => "CHATMESSAGE #{chat_id} #{msg}")
end
end
if __FILE__ == $0
TicketAlert.run!('#komagata1111/$xxxxxxxxxxxx', <<-EOS)
お疲れ様です。駒形です。
チケット確認の時間が近いので各自、自分のチケットの期限の確認をお願い致します。
また、期限が過ぎた方に「理由」と「対策」を求めるメールをお送りしていますが、必ず返信していただくようお願い致します。
EOS
end
毎週火曜日・金曜日の18時にRedmineのタスク期限オーバーチェックを行っています。30分前にこのメッセージが全員参加Skypeチャットにこのメッセージを贈るのが上記のcronの設定です。(ここに書いてある「期限が過ぎた方にメールを送る」というのも別のcronジョブで自動化しています。(MechanizeでRedmineをスクレイプしている。)
これだけでタスクの期限オーバーは激減しました。