我安排了一个每隔几分钟运行一次的工作,但是当它完成后我如何得到这个工作的结果呢?
该作业从数据库中获取数据并返回结果。
由于只Job.in()
返回Job.now()
一个promise
结果,我如何从每隔几分钟运行的计划作业中获取它。
我在用playframework 1.2.5Rc1
我安排了一个每隔几分钟运行一次的工作,但是当它完成后我如何得到这个工作的结果呢?
该作业从数据库中获取数据并返回结果。
由于只Job.in()
返回Job.now()
一个promise
结果,我如何从每隔几分钟运行的计划作业中获取它。
我在用playframework 1.2.5Rc1
您将不得不将结果存储在其他地方。然后,您可以在需要时查看结果。从计划的作业中“返回”结果并没有真正意义,因为您从未真正参考过它们。API 可以为第一个预定作业返回一个承诺,但这会使所有其他预定作业一无所知。
您可以做的一件事是让计划的作业将结果推送到BlockingQueue中。然后在代码的其他地方,您可以调用take()
阻塞的方法,直到它可以将某些内容从队列中拉出。这有点像一个不断补充的承诺。它还可以让队列填满,而无需担心立即处理每个结果。