Over a million developers have joined DZone.

Scheduling Jobs on Node.js With node-schedule

DZone's Guide to

Scheduling Jobs on Node.js With node-schedule

Check out this great hands-on tutorial for scheduling jobs in Node. It's perfect if you've ever needed cron-like functionality in this single threaded language.

· Web Dev Zone ·
Free Resource

Access over 20 APIs and mobile SDKs, up to 250k transactions free with no credit card required

Batching is a great part of today's software development. The business world runs on batch from bank statements to promotion emails.

Node.js has some good libraries for such cases.

node-schedule is a light cron-like scheduler for Node.

npm install node-schedule

If your are used to cron and the cron expression format, it will be pretty easy.

var scheduler = require('node-schedule');

var montlyJob = scheduler.scheduleJob('0 0 1 * *', function(){
 console.log('I run the first day of the month');

But, there's also a JavaScript object approach:

var scheduler = require('node-schedule');

var rule = new scheduler.RecurrenceRule();
rule.hour = 7
rule.dayOfWeek = new schedule.Range(0,6)

var dailyJob = schedule.scheduleJob(date, function(){
 console.log('I run on days at 7:00');


And, you can have tasks submitted by giving a date:

var scheduler = require('node-schedule');

var date = new Date(2017, 1, 1, 0, 0, 0);
var newYearJob = scheduler.scheduleJob(date, function() {
 console.log("Happy new year");

However, in the case that your job is not needed you can cancel it pretty easy:


#1 for location developers in quality, price and choice, switch to HERE.

cron ,javascript ,node

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}