使用percolate: synchronized -cron包,我试图在未来的特定时间安排发送电子邮件。我插入一个未来的任务到数据库中,但我得到这个错误Exception in setTimeout callback: TypeError: Cannot call method 'getTime' of undefined
db.future_tasks.find({}).pretty()
{
"_id" : "t35s5Daj7iwNeW9gm",
"to" : "niko.tzikas@gmail.com",
"from" : "niko.tzikas@gmail.com",
"subject" : "wassup",
"text" : ISODate("2015-07-22T19:25:32.781Z"),
"date" : ISODate("2015-07-22T19:25:32.781Z")
}
I20150722-15:22:50.339(-4) (synced-cron-server.js:52) SyncedCron: scheduled "EguDR6bFxKNECZAXF" next run @Wed Jul 22 2015 15:23:10 GMT-0400 (EDT)
I20150722-15:23:10.266(-4) (synced-cron-server.js:52) SyncedCron: Starting "EguDR6bFxKNECZAXF".
I20150722-15:23:10.269(-4) (synced-cron-server.js:52) SyncedCron: Removed "EguDR6bFxKNECZAXF
I20150722-15:23:10.271(-4) (synced-cron-server.js:52) SyncedCron: Finished "EguDR6bFxKNECZAXF".
I20150722-15:23:10.279(-4)? Exception in setTimeout callback: TypeError: Cannot call method 'getTime' of undefined
I20150722-15:23:10.279(-4)? at scheduleTimeout (packages/percolatestudio:synced-cron/synced-cron-server.js:238:1)
I20150722-15:23:10.280(-4)? at Object.SyncedCron._laterSetTimeout (packages/percolatestudio:synced-cron/synced-cron-server.js:228:1)
I20150722-15:23:10.280(-4)? at scheduleTimeout (packages/percolatestudio:synced-cron/synced-cron-server.js:206:1)
I20150722-15:23:10.280(-4)? at packages/percolatestudio:synced-cron/synced-cron-server.js:248:1
I20150722-15:23:10.280(-4)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150722-15:23:10.281(-4)? at packages/meteor/timers.js:6:1
I20150722-15:23:10.281(-4)? at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
我试着把日期变成字符串,但是没有区别。如果我尝试通过电子邮件发送任务(不需要SyncedChron),如:
Email.send({
from: details.from,
to: details.to,
subject:new Date(),
text: details.date
//date: details.date
});
我得到:
TypeError: Object Wed Jul 22 2015 15:24:46 GMT-0400 (EDT) has no method 'replace'
http://richsilv.github.io/meteor/scheduling-events-in-the-future-with-meteor/https://github.com/percolatestudio/meteor-synced-cron 这是包中的一个bug。该链接上列出了一个修复程序,并且显然包含在此包中。