Schedulers
A job scheduler adds jobs to a queue on a schedule, either with a cron pattern (for example every weekday at 08:00) or at a fixed interval (for example every 30 seconds). In BullMQ they're created with upsertJobScheduler, and older BullMQ versions and Bull (v3) call them repeatable jobs.
The Schedulers tab of a queue lists every scheduler in that queue, so you can check what will run, and when, without reading your application code.
The schedulers table
| Column | What it shows |
|---|---|
| Key | The scheduler's unique key in Redis |
| Name | The name of the jobs the scheduler creates |
| Expression | The cron pattern, or the interval shown as every 30s |
| Next job | When the next job will be added, relative and as a time of day |
| End Date | When the scheduler stops adding jobs, if it has an end date |
| Timezone | The timezone the cron pattern is evaluated in, if one was set |
The jobs a scheduler creates appear in the Jobs tab like any other job. The next one usually waits in the Delayed state until it's due.
Remove a scheduler
Click the trash icon in a scheduler's row and confirm to remove it. No new jobs are added for it after that.
To remove every scheduler in the queue at once, use the Clean all schedulers button above the table. This needs the clean permission on the queue; see Custom roles.
WARNING
Schedulers are usually created by your application when it starts. If the code that creates a scheduler is still running, it can add the scheduler back the next time it starts. Remove it from your code as well to stop it for good.