我正在构建一项功能,允许用户安排由服务器生成的报告。
即。用户A希望安排生成报告,并在每天下午5点通过电子邮件发送给他 而用户B希望每天上午10点安排相同的时间。
可能有许多用户希望在他们选择的任何时间运行该作业。
我看到有一种叫做node-schedule的东西: https://www.npmjs.com/package/node-schedule
你可以这样做:
var schedule = require('node-schedule');
var j = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
当分钟为每小时42分钟时执行一个cron作业。
如果系统只有一个用户,这样的东西可能有用,但对于多个用户,我无法硬编码安排作业的时间。有什么建议吗?
答案 0 :(得分:0)
const schedule = require('node-schedule');
let schedules = {};
schedules[`${userId1}`] = schedule.scheduleJob('42 * * 1 *', function(){
console.log('Generating report for user 1!');
});
schedules[`${userId2}`] = schedule.scheduleJob('42 3 * * *', function(){
console.log('Generating report for user 2!');
});
schedules[`${userId3}`] = schedule.scheduleJob('42 2 * * *', function(){
console.log('Generating report for user 3!');
});
userId1当分钟为42(每小时)且月份为1月时执行cron作业
userId2当分钟为42(每天)且小时为凌晨3点时执行cron作业
userId3当分钟为42(每天)且小时为凌晨2点时执行cron作业