Skip to main content

Can I schedule batch processing to run at specific dates or weekly?

You can achieve this by setting the batch execution timing to "daily" and using the date Smarty plugin to determine the current date or day of the week. If the conditions are not met, the processing is skipped.

Below are some configuration examples.

Run every Monday

{date var='day_of_week' time='now' format='N'}
{* N: Numeric day of the week (1=Monday, 7=Sunday) *}
{if $day_of_week != 1}
{* Skip if not Monday *}
{return}
{/if}

{* Write the processing you want to execute on Mondays here *}

format='N' returns the day of the week as a number (1=Monday, 2=Tuesday, ..., 7=Sunday).
If it is not Monday, {return} terminates the process, so only on Mondays will the subsequent processing be executed.

Run on the 1st of every month

{date var='day_of_month' time='now' format='d'}
{* d: Day of the month in 2 digits (01-31) *}
{if $day_of_month != '01'}
{* Skip if not the 1st *}
{return}
{/if}

{* Write the processing you want to execute on the 1st here *}

format='d' returns the day of the month as a 2-digit number (01-31).
If it is not the 1st, {return} terminates the process, so only on the 1st of each month will the subsequent processing be executed.

Run only on a specific date

{date var='today' time='now' format='Y-m-d'}
{if $today != '2026-03-15'}
{* Skip if not the specified date *}
{return}
{/if}

{* Write the processing you want to execute on the specified date here *}

format='Y-m-d' returns the date in YYYY-MM-DD format.
If it does not match the specified date, {return} terminates the process, so only on the matching date will the subsequent processing be executed.

tip

If you want to specify multiple dates, you can combine conditions as follows:

{date var='today' time='now' format='Y-m-d'}
{if $today != '2026-03-15' && $today != '2026-06-01' && $today != '2026-12-25'}
{return}
{/if}

Support

If you have any other questions, please contact us or check out Our Slack Community.