3

根据我对 Heroku 平台的理解,每个应用程序只允许一个 dyno 可以处理 HTTP 请求。在 Java 应用程序中,我的目标是每天运行一次或两次定期进程,从 Facebook 服务器获取信息并进行相应处理。如果后台工作人员 dyno 无法处理 Web 请求,那么我应该如何在 Web dyno 中编写一个重复发生的进程?

4

2 回答 2

1

从这个意义上说,“处理 HTTP 请求”是指连接的侦听端而不是发送端。在 Heroku 上,一个应用程序可以有一个 Web 进程* 来监听 HTTP 连接和许多其他发起/发送 HTTP 请求(或连接到其他非 HTTP 系统)的进​​程。

*注意:您可以根据需要分配尽可能多的 Dynos 来运行每个进程。

要运行定期向外部服务(如 Facebook)发出请求的进程,您可以使用Heroku Scheduler Add-on。然后,您可以将结果存储在许多关系或 NoSQL 数据存储插件之一中,或者可能通过CloudAMQP等消息传递插件将结果发送到其他进程。

于 2012-08-06T14:30:04.963 回答
0

如果平台限制了你,为什么要使用它?
还有其他平台可以让您执行此操作。您可以使用OpenShift轻松地将 Java 应用程序部署到云端,然后就我所知,您可以毫无限制地使用 Java API。
OpenShift 也使用 git,与 Heroku 一样。
它们都是 PaaS,所以概念完全一样,我认为您可以轻松尝试 OpenShift。
您还可以查看 Google App Engine 是否有此类限制。
很抱歉没有帮助您解决具体问题,我只知道至少“一个竞争对手”没有这样的限制。

于 2012-08-04T06:30:33.367 回答