cron 立即而不是在指定时间触发回调函数

cron fires callback function immediately instead of at designated time

我正在定义一个 cron 作业并给它一个回调函数来发送电子邮件。但是,它不是在指定时间触发,而是在我的应用程序为 运行 时立即触发,但未能在给定的指定时间触发。我的 cron 表达式有问题吗?我想让它在 9:42 下午开火来测试它。这个想法是让这个功能每天在同一时间触发。

相关coffeescript代码:

cron = require 'cron'
...
cronJob = cron.job('0 42 21 * * *', sendEmails())
cronJob.start()

你的问题是你在调用 cron.job 时却调用了 sendEmails 而你应该给 cron.job 一个函数的引用。此处 sendEmails 上的括号:

cron.job('0 42 21 * * *', sendEmails())
# ----------------------------------^^

调用函数。你想说:

cron.job('0 42 21 * * *', sendEmails)