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

Lio*_*ion 9 jobs playframework

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

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

我尝试每一个("5米")或每个("0.1小时"),播放报告内部错误.

Cod*_*nci 19

简短回答:

您可以使用以下任一方法

@Every("5mn")
@Every("5min")
Run Code Online (Sandbox Code Playgroud)


答案很长:

@Every注释使用play.libs.Time类,具体的parseDuration方法来确定工作多久调度.

如果你看一下源代码,Javadoc说明......

   /**
     * Parse a duration
     * @param duration 3h, 2mn, 7s
     * @return The number of seconds
     */
Run Code Online (Sandbox Code Playgroud)

这表明您应该将代码指定为 @Every("5mn")

如果您仔细查看代码,它会使用以下正则表达式确定时间以分钟为单位.

"^([0-9]+)mi?n$"
Run Code Online (Sandbox Code Playgroud)

因此,这表明以下任何一种都是有效的

@Every("5mn")
@Every("5min")
Run Code Online (Sandbox Code Playgroud)


dog*_*ane 5

请尝试在注释中使用"5min":

@Every("5min")
Run Code Online (Sandbox Code Playgroud)