我有一个场景,如果面试的时间是从系统日期开始的15分钟,那么我需要向某个人发送短信。 为此,我使用schedule(cron),每隔15分钟运行一次,并检查访谈时间(在集合中的合并日期)是否大约15分钟然后发送短信。
JS:
var Profiles = require('./profiles.model');
var cron = require('cron');
var cronJob = cron.job("* */15 * * * *", function() {
var date = new Date();
Profiles.find({
combinedDate: Date.parse(Date.parse(date)+60000)
},function(err, profiless) {
console.log(profiless);
console.info('cron job completed');
});
});
cronJob.start();
现在我只是打印消息" cron job completed"在控制台而不是短信。
但是这里console.log(profiless);
这句话给了我空数组。
模式:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var ProfilesSchema = new Schema({
name: String,
uniqueId: String,
combinedDate: Date,
filepath: String,
filename: String
});
module.exports = mongoose.model('Profiles', ProfilesSchema);
任何帮助都将不胜感激。
答案 0 :(得分:1)
我认为问题出在你的约会对象上。你想检查一下距离当前时间15分钟的面试时间是否合适?
那么为什么不使用这样的东西?
var Profiles = require('./profiles.model');
var cron = require('cron');
var cronJob = cron.job("* */15 * * * *", function() {
var date = new Date();
Profiles.find({
combinedDate: date.setMinutes(date.getMinutes()+15)
},function(err, profiless) {
console.log(profiless);
console.info('cron job completed');
});
});
cronJob.start();