我的工作安排每隔几分钟运行一次,但是如何完成这项工作的结果呢?
作业从数据库获取数据并返回结果。
由于只有Job.in()
和Job.now()
返回promise
结果,如何从每隔几分钟运行一次的预定作业中获取结果。
我正在使用playframework 1.2.5Rc1
答案 0 :(得分:4)
您必须将结果存储在其他位置。然后,您可以在需要时查找结果。从计划作业中“返回”结果并不真正有意义,因为您从未真正对它们进行过引用。 API可以返回第一个预定作业的承诺,但这会使所有其他预定作业处于黑暗状态。
您可以做的一件事是将预定的作业推送结果转换为BlockingQueue。然后在代码的其他地方,你可以调用阻塞的take()
方法,直到它可以从队列中取出一些东西。这有点像一个不断补充的承诺。它还允许队列填满而不必担心立即处理每个结果。