java - 如何在发出网络请求的 Heroku Java 应用程序中运行定期进程

标签 java heroku

根据我对 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/

相关文章:

java - 以 arraylist 作为字段的改造帖子

java - MutableLiveData 设置值但 getValue() 返回 null?

javascript - 如何在已部署的 Heroku 应用程序上安装我的 Bower 依赖项?

git - 有没有办法获取 heroku toolbelt 的各个组件?

sql - Heroku PostgreSQL BLOB 插入失败

java - IntelliJ Idea 2018.2没有导入gradle项目的选项

java - 如何使用 JavaMail API 将恢复邮件从我们的域地址 (mine@xxtech.com) 发送到任何用户电子邮件

java - 如何在 JSON 中发送 map

ruby-on-rails-3 - Heroku rake 数据库 :migrate aborted with 'PG::Error:'

ruby-on-rails-3 - 如何指定要从私有(private) github 存储库中提取的 gem?