Reputation: 1127
I am planning on using node-schedule to set up push notifications for appointment reminders as follows:
var schedule = require('node-schedule');
var date = req.body.date; // Date for reminder from client request
var j = schedule.scheduleJob(date, function(){
// Send push notification
});
Now I know you can cancel the event by calling cancel():
j.cancel()
However, how can I refer to that specific job to cancel if the user from the client side decides to change the appointment to a different date?
Thanks in advance for your help!
Upvotes: 23
Views: 17521
Reputation: 951
var randf = require('randomstring');
var jobId = randf.generate(10); //randomsrting
var at = new Date();
var time = at.setSeconds(at.getSeconds() + Number(5)) //after 5 second
schedule.scheduleJob(jobId, new Date(time),function(){
schedule.cancelJob(jobId);
console.log('hi--viral');
});
Upvotes: 1
Reputation: 1127
In order to retrieve a specific job, you could create it with a unique name and you can retrieve it later via that unique name:
var j = schedule.scheduleJob(unique_name, date, function() {
});
// later on
var my_job = schedule.scheduledJobs[unique_name];
my_job.cancel();
Upvotes: 44