根据我对 Heroku 平台的理解,每个应用程序只允许一个 dyno 来处理 HTTP 请求。在 Java 应用程序中,我的目标是让一个周期性进程每天运行一次或两次,从 Facebook 服务器获取信息并进行相应处理。如果后台 worker dyno 无法处理网络请求,那么我应该如何在网络 dyno 中编写一个重复发生的过程?
最佳答案
在这个意义上,“处理 HTTP 请求”是指连接的监听端而不是发送端。在 Heroku 上,应用程序可以有一个 web 进程*,用于监听 HTTP 连接和许多其他发起/发送 HTTP 请求(或连接到其他非 HTTP 系统)的进程。
*注意:您可以根据需要分配任意数量的 Dynos,以运行每个进程。
要运行定期向外部服务(如 Facebook)发出请求的进程,您可以使用 Heroku Scheduler Add-on .然后您可以将结果存储在众多 relational or NoSQL data-storage add-ons 中的一个中。或者可能通过像 CloudAMQP 这样的消息传递插件将结果发送到其他进程.
关于java - 如何在发出网络请求的 Heroku Java 应用程序中运行定期进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11806410/