我想做以下事情:
通常,您通过实现一个类来实现 Play-Jobs,该类扩展了 添加到池OnApplicationStart ...
我现在想在运行时添加 Cron-Jobs(通过 GUI 添加任务...),但我不确定如何实现。
我查看了 JobsPlugin 并发现以下几行:
job.nextPlannedExecution = nextDate;
executor.schedule((Callable<V>)job, nextDate.getTime() - now.getTime(), TimeUnit.MILLISECONDS);
job.executor = executor;
我必须像那样添加它们吗?
这甚至可能吗?因为我找不到任何行,告诉作业本身,它应该遵循哪个 Cron-Expression...
String cron = job.getClass().getAnnotation(On.class).value();
job.nextPlannedExecution
在 Job-Execution 和新设置之后,这条线是否再次从外部调用?
好的,我希望我现在不回答我自己的问题,但这可能是解决方案吗?:
我实现了自己的 Job-Class,添加了一个属性,例如cronExpression
并覆盖了 Job 的
public void _finally() {
super._finally();
if (executor == JobsPlugin.executor) {
JobsPlugin.scheduleForCRON(this);
}
}
实现我自己的sheduleForCron()