是否有一种简单的方法来检索作业并检查例如Play的状态? 我有一些运行很长时间的编码作业/下载作业。在某些情况下,我想取消它们。
有没有办法检索工作列表或什么?
E.g。一个Job使用ProcessBuilder调用FFMPEG编码器。如果不需要,我希望能够完成这项工作并终止该过程(例如上传了错误的文件,并且不想在完成之前等待一小时)。如果我能掌握那份工作,那么我也可以参与这个过程。
我正在使用Play 1.2.4
答案 0 :(得分:1)
请参阅JobsPlugin.java以了解如何列出所有scheduledJobs。
获取当前执行的任务比较棘手但您可以通过检查Job类并在自定义Job中调用方法告诉他取消来在JobsPlugin.scheduledJobs列表中找到您的作业
像
这样的东西for (Job<?> job : JobsPlugin.scheduledJobs) {
if (job instanceof MyJob) {
((MyJob) job).cancelWork();
}
}
其中cancelWork是您的自定义方法