我学习了Scala的Play 2.0框架,除了能够处理请求之外,我还想在后台运行一个连续的任务,就像一群定时器一样。并以某种方式能够从请求 - 响应操作中访问这些定时器,而不会遇到任何线程同步问题。我听说过Play中的Jobs,并且Scala中有演员。然而,我在2.0中找不到有关乔布斯的任何信息,它们似乎已被Promises取代..但实际上,这并不像运行一个持久的后台线程,我不确定Actors如何适应整个范例。玩2.0框架 - 主应用程序周期的持续线程?
基本上,我的问题是 - 在Play 2.0中获得这种持久性的传统方式是什么?
好的,我已经阅读了关于演员和时间安排的Play教程。演员的概念对我来说看起来简单而合乎逻辑,在Erlang我也对他们有一些小的经验,所以除了一件事情之外,一切似乎都很清楚。组织线程更新周期的首选方式是什么?我是否必须使用调度程序简单地向代表线程的Actor安排定期更新冲动?或者我从一个Actor开始一个线程,并在它的'run()'方法中组织循环? – noncom 2012-04-01 16:26:16
如果您想安排工作来运行例如,不需要额外的线程。每30分钟一次,只需调用'Akka.system.scheduler.schedule(0秒,30分钟,testActor,“tick”)'就可以了。如果您需要基于事件的更新作业(例如,在用户上传后调整图像的大小以备后用),请在完成作业时向演员发送消息:'myActor! myMessage'。 – Carsten 2012-04-01 16:38:58
太好了,谢谢!这涵盖了一切! – noncom 2012-04-01 16:42:14