How to Schedule Cron Jobs in Node.js Using node-cron
HexShift

HexShift @hexshift

About: Help with web development through niche, technical tutorials. From advanced JavaScript patterns and TypeScript best practices to mastering frameworks. Support link at base of each article. Thanks.

Joined:
Apr 5, 2025

How to Schedule Cron Jobs in Node.js Using node-cron

Publish Date: Apr 21
3 0

Node.js doesn’t come with native cron support, but the node-cron package makes it easy to schedule recurring tasks using familiar cron syntax. In this guide, you'll learn how to set up robust cron jobs inside a Node.js app.

Step 1: Install node-cron

npm install node-cron

Step 2: Basic Cron Job Setup

Here’s how to create a simple job that runs every minute:

const cron = require('node-cron');

cron.schedule('* * * * *', () => {
  console.log('Task is running every minute');
});

Step 3: Using Real-World Cron Syntax

Want to run a job every day at 2 AM?

cron.schedule('0 2 * * *', () => {
  console.log('Daily task at 2 AM');
});

Step 4: Validating Cron Expressions

node-cron includes built-in validation so you can check if a cron string is valid before scheduling:

if (cron.validate('0 2 * * *')) {
  cron.schedule('0 2 * * *', () => {
    console.log('Scheduled task');
  });
}

Step 5: Handling Errors and Logging

Wrap your cron jobs with proper error handling:

cron.schedule('*/5 * * * *', () => {
  try {
    // Your logic here
    console.log('Running task...');
  } catch (error) {
    console.error('Task failed:', error);
  }
});

Step 6: Keeping the Job Alive

If you’re not using a framework like Express, make sure your Node process stays alive:

setInterval(() => {}, 1000);

Conclusion

node-cron offers a simple yet powerful way to manage recurring tasks in a Node.js environment. From backups to email reminders, integrating cron into your app is now seamless and code-driven.

If this post helped you, consider supporting me: buymeacoffee.com/hexshift

Comments 0 total

    Add comment