【发布时间】:2016-02-03 22:58:33
【问题描述】:
大家好,我尝试在特定时间后向我收藏中的某些用户发送电子邮件。用户填写表格:
Template.decisionSetUp.events({
'submit form':function(event,t){
var closeDateDB = moment($('[name="date"]').val(), 'DD.MM.YYYY HH:mm').toDate();
Questions.insert({closeDateDB: closeDateDB},
function (error,results){
Router.go('decision', {_id:results});
var decisionId = results;
console.log(decisionId);
Meteor.call('decisionEndMail', decisionId);
}
);
});
在此之后我实现了一个 cron 作业:
Meteor.methods({'decisionEndMail':function(decisionId) {
var t = Questions.findOne({_id:decisionId}).closeDateDB;
console.log(t);
SyncedCron.add({
name: 'demo',
schedule: function (parser) {
return parser.recur().on(t).fullDate();
},
job: function () {
// job code
console.log('job function just ran');
}
});
SyncedCron.start();
}
});
问题是,它只接受第一个meteor.call。例如,如果我在 13:30 设置了一个 closeDateDB,而我在 13:40 设置了另一个,则作业只发生在第一个。 13:40 的第二个永远不会被执行。我在这里错过了什么?
【问题讨论】:
标签: javascript meteor cron