9

如何定义每五分钟运行一次作业

在 play.jobs.every 类中,它定义了一个示例 every("1h") 每小时运行一次作业,但我想每 5 分钟运行一次,如何定义它。

我尝试every("5m") 或every("0.1h") ,播放报告内部错误。

4

2 回答 2

18

简短的回答:

您可以使用以下任何一种

@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")
于 2011-06-03T08:50:01.370 回答
5

尝试在注释中使用“5min”:

@Every("5min")
于 2011-06-03T07:57:28.193 回答