3

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

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

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

*(对于繁重的任务,我通常是指需要回答的可能长时间运行的任务,例如复杂的数据库查询的结果或提供给最终用户的 Web 服务调用,而不是一劳永逸的事情比如发邮件)。

4

1 回答 1

3

使用 Play 时不需要明确的工作人员。Play 2 的常见模式是在控制器和Akka中使用异步响应来运行更长时间的进程。Play Framework 网站上的所有示例都应该在 Heroku 上开箱即用。

于 2013-02-27T21:56:36.970 回答