【发布时间】:2013-08-29 02:37:23
【问题描述】:
根据我对 Heroku 平台的理解,每个应用程序只允许一个 dyno 可以处理 HTTP 请求。在 Java 应用程序中,我的目标是每天运行一次或两次定期进程,从 Facebook 服务器获取信息并进行相应处理。如果后台工作人员 dyno 无法处理 Web 请求,那么我应该如何在 Web dyno 中编写一个重复发生的进程?
【问题讨论】:
-
为什么不编写一个执行该任务的独立程序并使用 Heroku 调度程序插件每天运行一次?
-
我正在研究这样的方法,但我遇到了与网络路由相同的问题。调度程序本质上是一个一次性进程,它会定期运行,并且根据 Heroku 的一次性进程无法接收 HTTP 流量(请参阅 link 的形成 dynos 与一次性 dynos)
-
您能否解释一下为什么需要该流程来接收网络请求?如果该流程应该“从 Facebook 服务器获取信息”,那么听起来您的流程将调用 Facebook,而不是相反。一次性测功机完全可以做到这一点。
-
是的,这就是我所做的一切,它只会从 Facebook 服务器请求信息。我假设后台进程无法处理 HTTP 请求这一事实意味着它无法处理 HTTP 协议周期。我可能错误地假设了,我试图作为一个周期性过程执行的操作没有问题。