2016-05-05 4 views
3

私たちはRails 4アプリケーションを持っています。 wheneverの作業を夜中に夏時間のレールでスケジュールする最良の方法は何ですか?アメリカの真夜中のレールに `いつでも`タスクをスケジュールする最良の方法は何ですか?

1日の報告の夜に11.58pmにメールを送信する必要があります。

私たちは、一度に電子メールを送信していないtzinfogem

TZInfo::Timezone.get('America/Denver').local_to_utc(Time.parse('11:58pm')).strftime('%H:%M%p') 

を使用しています。

答えて

5

これはタイムゾーンの問題を回避し、サーバーはUTCに、別のタイムゾーン(サマータイムあり)にあります。ローカルアクションを定義し、cronjobで使用します。

require "tzinfo" 

def local(time) 
    TZInfo::Timezone.get('America/Denver').local_to_utc(Time.parse(time)) 
end 

every :sunday, at: local("11:58 pm") do 
#your email sending task 
end 

schedule.rbは、それはあなたを助けることを願っています。

+0

この種のタスクでは、グローバルな処理が適切です。ブックマークしました! :) –

関連する問題