ð Cron Scheduling
Schedule recurring tasks with standard cron expressions, from seconds through weekdays, with ranges, steps, lists, and named months/weekdays.
Schedule tasks with cron expressions. Prevent overlaps. Coordinate across instances. Run jobs in background processes. Zero dependencies.

These docs cover node-cron v4.
node-cron is designed to grow with you. The same schedule call you write on day one is the one you keep; you just add options as your needs grow.
import cron from 'node-cron';
// Day one: run something every minute.
cron.schedule('* * * * *', () => {
console.log('Hello from node-cron');
});Later, the same task can run in a specific timezone, skip overlapping runs, coordinate across a fleet, and run in its own process:
import cron from 'node-cron';
const task = cron.schedule('0 3 * * *', './tasks/nightly-backup.js', {
name: 'nightly-backup',
timezone: 'America/Sao_Paulo',
noOverlap: true,
distributed: true,
});
task.on('execution:failed', (ctx) => {
console.error('backup failed:', ctx.execution?.error);
});Need more than cron?
Check out Sidequest.js, a distributed job runner for Node.js inspired by Oban and Sidekiq. Retries, priorities, schedules, uniqueness, and a web dashboard. Works with Postgres, MySQL, SQLite and MongoDB.
Follow the journey in order, or jump straight to what you need: