# Cron jobs
PREREQUISITES
The cron.enabled configuration option should be set to true in the ./config/server.js (or ./config/server.ts for TypeScript projects) file.
cron allows scheduling arbitrary functions for execution at specific dates, with optional recurrence rules. These functions are named cron jobs. cron only uses a single timer at any given time, rather than reevaluating upcoming jobs every second/minute.
This feature is powered by the node-schedule (opens new window) package.
The cron format consists of:
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
To define cron jobs and have them run at the required times:
💡 TIP
Optionally, cron jobs can be directly created in the cron.tasks key of the server configuration file.
# Creating a cron job
To define a cron job, create a file with the following structure:
If the cron job requires running on a specific timezone:
# Enabling cron jobs
To enable cron jobs, set cron.enabled to true in the server configuration file and declare the jobs: