heroku - 如何确定 Play 应用程序是否正在heroku上的worker dyno上运行?

标签 heroku playframework worker

我有一个在heroku上运行的play 1.2.5应用程序,我想将所有作业交换到一个worker dyno中,这样它们就不会随着web dyno进行扩展。

为此,我需要区分应用程序是在网络上运行还是在工作线程上运行。

有没有办法通过使用 procfile 传递命令行参数来实现这一点?

目前我发现,通过传递自定义 CLI 参数,无法创建 JVM...

提前谢谢您!

最佳答案

Heroku 使用 web 作为 Web dynos 的进程类型。

您需要在 Procfile 中声明您的测功机,您可以在其中指定它们的 process types

您可以使用任何您喜欢的标识符,但建议使用 worker,这似乎是一个很好的约定。

然后,您可以使用以下方法扩展您的各个动态类型:

heroku ps:scale web=1

heroku ps:scale worker=1

此外,this post has a good answer这可能对你有帮助。

关于heroku - 如何确定 Play 应用程序是否正在heroku上的worker dyno上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21108651/

相关文章:

scala - Play 框架中的命名约定

mysql - 具有亚马逊 RDS 安全性的 Heroku

swift - 使用 Swift 4.1 将 Vapor 3 beta 应用程序部署到 Heroku 时出现问题

java - 带有 Play Framework 2.6 (Java) 的 Swagger 2.0 (Open Api 3.0)

java - Play Framework IF 语句和 FOR 循环

parallel-processing - .Net Core Hangfire - 增加 worker 数量

C# WPF 应用程序在由使用 topshelf 创建的 Windows 服务启动时不显示表单

C# 等待异步操作完成

ruby-on-rails - 在 Heroku 上运行 Rake 任务时,如何将日志消息保留在 STDOUT 之外?

ruby-on-rails-3 - rails3/mongoid/heroku/mongohq