A weekly report is set to run "every Monday at 9:00." It arrives on time for months. Then the clocks change, and the report arrives an hour early for the team in one office and an hour late in another. A few weeks later, the server restarts on a Monday morning and the report never arrives at all.

Scheduled automations look simple because the schedule fits on one line. The questions behind that line need answers before the job goes live.

Write the schedule in business terms

Start from what the business needs, not from the scheduler's settings. For example: "The sales summary must be in the team's inbox before the Monday 9:30 meeting, Singapore time."

From that sentence you can decide:

  • Which time zone the schedule follows, and whether it should follow daylight saving changes.
  • The latest acceptable time, not only the start time.
  • What period the job covers, such as the previous Monday to Sunday, so a late run still processes the right data.

Store the time zone explicitly. "9:00" without a time zone is a guess about where the server is.

Decide what happens on holidays and closed days

Some jobs should run every day regardless. Others should skip public holidays, or move to the next working day. Agree on the rule, write down where the holiday calendar comes from, and assign someone to update it each year.

Detect a missed run

A job that never starts sends no error. Add a check that looks for the expected result, such as a file, a report, or a log entry, by the latest acceptable time. If it is missing, alert a named owner.

Our guide to automation alerts people act on covers how to make that alert useful.

Catch up without duplicating work

When a run is missed, decide whether to run it once for the missed period, skip it, or merge it into the next run. Base the job on the period it covers, not on "since last time," so a catch-up run processes exactly the missed window.

Before re-running, check whether the job partly completed. If some emails were sent or some records were written, a full repeat can create duplicates. Our retries without duplicate actions guide explains how to make reruns safe.

Keep long jobs from overlapping

If a job sometimes runs longer than its interval, the next run may start before the first one finishes. Decide whether the second run should wait, skip, or stop the first. Record each run's start, end, and covered period so overlaps are visible.

Review the schedule twice a year

Check the jobs before daylight saving changes and at the start of each year. Confirm the time zones, holiday rules, owners, and whether each job is still needed.

To review the scheduled jobs behind your business processes, email Storm Nova Labs.