在Heroku上使用Play框架的后台工作

时间:2013-02-09 23:26:15

标签: scala heroku playframework-2.0 rabbitmq akka

在Heroku上,使用Play Framework,是否需要设置后台作业处理器(使用Akka / RabbitMQ /等)以执行繁重的任务*?

我知道Play提供了在请求中异步执行任务的能力,但这足以避免需要后台作业处理器吗?在非Heroku部署的独立Play应用程序中,异步性功能可以在一个过程中完成所有操作,但在Heroku应用程序上,似乎这还不够:根据书籍Professional Heroku Programming,(页面) 254,在Develop with Ruby部分中,web dyno在收到请求和传递响应之间被阻止,所有其他请求在此期间排队。

如果需要后台作业处理器,是否有任何示例?我见过Play和Akka,Play和Heroku的例子,但不是全部三个。

*(通过繁重的任务,我通常意味着可能需要回答的长期运行任务,例如向最终用户提供复杂数据库查询或Web服务调用的结果,而不是fire-and - 忘记发送电子邮件等事情。)

1 个答案:

答案 0 :(得分:3)

使用Play时,您不需要显式工作人员。 Play 2的常见模式是在控制器中使用Async response,在Akka中使用更长时间运行的进程。 Play Framework网站上的所有示例都应该在Heroku上开箱即用。