Learn about job scheduling patterns
schedo.defineJob( 'daily-backup', '0 0 * * *', // Run at midnight every day async (ctx) => { // Job implementation } );
┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday) │ │ │ │ │ * * * * *
// Every minute '* * * * *' // Every 15 minutes '*/15 * * * *' // Every hour '0 * * * *' // Every day at midnight '0 0 * * *' // Every Monday at 9:00 AM '0 9 * * 1' // Every month on the 1st at midnight '0 0 1 * *'
// Invalid cron expression schedo.defineJob( 'invalid-job', '0 24 * * *', // 24 is invalid hour async (ctx) => { // Never runs - throws error during definition } );
// Run during business hours (9 AM - 5 PM on weekdays) '0 9-17 * * 1-5'
// Instead of all jobs at midnight '0 0 * * *' // Job A '5 0 * * *' // Job B '10 0 * * *' // Job C