2015-04-08 2 views
0

Я определяю работу cron и предоставляю функцию обратного вызова для отправки электронной почты. Однако вместо того, чтобы стрелять в указанное время, он запускается немедленно, когда мое приложение запускается и не срабатывает в указанное заданное время. Что-то не так с моим выражением cron? Я хотел, чтобы он стрелял в 21:42, чтобы проверить это. Идея состоит в том, чтобы эта функция срабатывала в одно и то же время каждый день.функция обратного вызова cron немедленно, а не в назначенное время

Соответствующий код CoffeeScript:

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

ответ

1

Ваша проблема в том, что вы звоните sendEmails, когда вы звоните cron.job когда вы должны давать cron.job ссылку на функцию. Скобки на sendEmails здесь:

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

вызов функции. Вы хотите сказать:

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

Gotcha, я новичок в coffeescript, поэтому я думал, что мне это нужно по синтаксическим соображениям, но это имеет смысл. К сожалению, он все еще не работает. В то время, когда я назначаю, он не отправит электронное письмо. – Otto45

+0

Любые сообщения об ошибках в любом месте? Не 'cron = requre 'cron'' действительно' cron = require' cron''? –

+0

Нет сообщений об ошибках, и это 'cron = require 'cron'', это была только опечатка выше. Я редактировал свой оригинальный пост. – Otto45

Смежные вопросы