バッチ処理の実行を指定の日時や週次に設定できますか?
バッチ処理の実行タイミングを「毎日」に設定し、dateのSmartyプラグインを使って現在の日付や曜日を判定することで、特定の条件に一致しない場合は処理をスキップできます。
以下に設定例を紹介します。
毎週月曜日に実行
{date var='day_of_week' time='now' format='N'}
{* N: 曜日の数値表現 (1=月曜日, 7=日曜日) *}
{if $day_of_week != 1}
{* 月曜日以外はスキップ *}
{return}
{/if}
{* ここに月曜日に実行したい処理を記述 *}
format='N'は曜日を数値で返します(1=月曜日、2=火曜日、...、7=日曜日)。
月曜日以外の場合は{return}で処理を終了し、月曜日のみ後続の処理が実行されます。
毎月1日に実行
{date var='day_of_month' time='now' format='d'}
{* d: 日の2桁表現 (01〜31) *}
{if $day_of_month != '01'}
{* 1日以外はスキップ *}
{return}
{/if}
{* ここに毎月1日に実行したい処理を記述 *}
format='d'は日付を2桁の数値で返します(01〜31)。
1日以外の場合は{return}で処理を終了し、毎月1日のみ後続の処理が実行されます。
特定の日付のみ実行
{date var='today' time='now' format='Y-m-d'}
{if $today != '2026-03-15'}
{* 指定日付以外はスキップ *}
{return}
{/if}
{* ここに指定日付に実行したい処理を記述 *}
format='Y-m-d'は日付を年-月-日の形式で返します。
指定した日付と一致しない場合は{return}で処理を終了し、該当日のみ後続の処理が実行されます。
ヒント
複数の日付を指定したい場合は、以下のように条件を組み合わせることもできます。
{date var='today' time='now' format='Y-m-d'}
{if $today != '2026-03-15' && $today != '2026-06-01' && $today != '2026-12-25'}
{return}
{/if}
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。