2015-06-23 5 views
6

Привет, я использую повестку дня узла для определения работы в своем приложении (https://github.com/rschmukler/agenda). У меня есть два случая использования, которые я не знаю, как покрытьОпределение заданий для работы в узлах для этих случаев использования

1) Я хочу работу, чтобы работать каждый вторник или каждую среду, например

2) Я хочу, чтобы работа запускать каждый пятый или 10-го числа месяц.

Я знаю, что в повестке дня узла используется человеческий интервал (https://github.com/rschmukler/human-interval), чтобы интерпретировать, как часто они хотят выполнять задания, но я вижу, что он может интерпретировать только единицы, такие как дни, недели, месяцы и т. Д. Любая идея о том, как я могу рассмотрите два случая использования, упомянутых выше?

Для случая использования 1, я обнаружил, что я могу сделать что-то вроде этого (из документации повестки дня):

var weeklyReport = agenda.schedule('Saturday at noon', 'send email report', {to: '[email protected]'}); 
weeklyReport.repeatEvery('1 week').save(); 
agenda.start(); 

ответ

4

Вы можете использовать формат хрон:

1) weeklyReport.repeatEvery("0 0 * * 1,4")

Где 1 - понедельник и 4 - четверг

2) weeklyReport.repeatEvery("0 0 1,15 * *")

Это будет работать 1 и 15 числа месяца

+0

Модуль повестки дня предполагает, что месяцы составляют 30 дней, поэтому это не будет работать точно так, как предполагалось. – Blubberguy22

+0

Хм, я думаю, это только человеческий интервал, который предполагает 30 дней. – aquint

+0

. По-прежнему есть месяцы, предполагаемые в течение 30 дней, но это может быть для звонков на каждый месяц (каждые несколько месяцев, причем месяцы составляют 30 дней), а не для звонков в течение нескольких месяцев. – Blubberguy22