1

我安排了一个每隔几分钟运行一次的工作,但是当它完成后我如何得到这个工作的结果呢?

该作业从数据库中获取数据并返回结果。

由于只Job.in()返回Job.now()一个promise结果,我如何从每隔几分钟运行的计划作业中获取它。

我在用playframework 1.2.5Rc1

4

1 回答 1

4

您将不得不将结果存储在其他地方。然后,您可以在需要时查看结果。从计划的作业中“返回”结果并没有真正意义,因为您从未真正参考过它们。API 可以为第一个预定作业返回一个承诺,但这会使所有其他预定作业一无所知。

您可以做的一件事是让计划的作业将结果推送到BlockingQueue中。然后在代码的其他地方,您可以调用take()阻塞的方法,直到它可以将某些内容从队列中拉出。这有点像一个不断补充的承诺。它还可以让队列填满,而无需担心立即处理每个结果。

于 2012-05-09T15:21:38.003 回答