Deploy
Scheduled jobs
Run a container on a cron schedule, in UTC, with a deadline and retries.
A scheduled job runs a container on a schedule and stops it when it finishes: a nightly report, a cleanup, a sync.
Create a scheduled job
In a project, choose Create → Scheduled job. Enter the image, a name and the Schedule (cron, UTC), then choose Create and deploy. A scheduled job has no networking.
To turn an existing service into a scheduled job, stop it, then switch its settings from Always on to Scheduled.
Settings
In the job's settings:
| Setting | Values | New job |
|---|---|---|
| Schedule (cron, UTC) | Five fields: minute, hour, day of month, month, day of week | 0 * * * * (every hour) |
| Run deadline (seconds) | 1 to 86,400 | 300 |
| Retries | 0 to 3 | 0 |
How runs behave
- Schedules are in UTC.
0 21 * * *runs at midnight in Riyadh. - Cron shortcuts like
@dailyand a seconds field are not supported. - A run does not start while the previous one is still running.
- A failed run is retried up to the number of retries.
- The deadline covers the run and its retries together: when it passes, the run is stopped, counts as failed and is not retried.
- A run that could not start on time is skipped if it is more than 60 seconds late.
A scheduled job has no port and no volume, and runs one replica. Its runs and their outcomes are listed in the service panel.
Examples
| Schedule | Runs |
|---|---|
*/15 * * * * | Every 15 minutes |
0 3 * * * | Every day at 03:00 UTC (06:00 in Riyadh) |
0 6 * * 0 | Every Sunday at 06:00 UTC |
0 0 1 * * | The first day of each month at 00:00 UTC |