以编程方式停止PlayFramework作业

时间:2013-08-18 23:08:23

标签: asynchronous interrupt playframework-1.x jobs

我正在尝试以编程方式停止PlayFramework中正在运行的作业。当一份工作开始时,我保存了“承诺”。它在启动时返回的对象。这个对象有一个'取消'应该取消预定作业或停止现有作业的方法,但它似乎没有做任何事情。

还有什么方法可以阻止正在运行的工作?

1 个答案:

答案 0 :(得分:1)

我认为您需要自己实施有序的取消。 cancel不会仅仅结束线程的执行,因为这可能会导致意外结果。解决方案也是类似的,Thread.stop()被弃用,而Thread.interrupt()应该被使用。

检查作业是否在某个时候被取消了。如果您在循环中运行繁重的计算,请检查它是否仍应在开始时继续运行。您甚至可以通过这种方式返回部分结果。