Как определить каждые пять минут для запуска заданий - PullRequest
9 голосов
/ 03 июня 2011

Как определить каждые пять минут для запуска заданий

в классе play.jobs.every, он определяет пример каждого ("1h") для запуска задания каждый час, но я хочу запускать каждые 5 минут, как это определить.

я пробую каждые ("5 м") или каждые ("0,1 ч"), игра сообщает о внутренней ошибке.

Ответы [ 2 ]

19 голосов
/ 03 июня 2011

Краткий ответ:

Вы можете использовать любой из следующих

@Every("5mn")
@Every("5min")


Длинный ответ:

В аннотации @Every используется класс play.libs.Time, в частности метод parseDuration, для определения частоты выполнения задания.

Если вы посмотрите на исходный код, Javadoc утверждает ...

   /**
     * Parse a duration
     * @param duration 3h, 2mn, 7s
     * @return The number of seconds
     */

Это предполагает, что вы должны указать свой код как @Every("5mn")

Если заглянуть глубже в код, он определяет, что время указывается в минутах, используя следующее регулярное выражение.

"^([0-9]+)mi?n$"

Итак, это говорит о том, что допустимо любое из следующих действий

@Every("5mn")
@Every("5min")
5 голосов
/ 03 июня 2011

Попробуйте использовать «5 минут» в аннотации вместо:

@Every("5min")
...