Heroku 部署 play 2.1 应用程序非常慢(欧盟区域)

标签 heroku playframework sbt playframework-2.1

几周以来,我的 play 2.1 应用程序的部署速度非常慢。事实上,它随机地非常慢,以至于构建超时(15 分钟时间限制)。

我已经尝试使用自定义构建包,但几乎没有效果。

当我按照描述进行本地构建时 here需要大约。 10 分钟,但大部分时间都花在检索依赖的工件上。当我查看 Heroku 上的构建时,检索不需要太多时间,因此检索似乎不是问题。

关于构建:[信息]编译 83 个 Scala 源代码和 3 个 Java 源代码。

看起来源代码和文档的生成和打包(从未在产品中使用过)似乎需要花费大量时间。

有什么方法可以显着减少构建时间,例如通过关闭文档的生成?

最佳答案

您可以通过减少应用程序编译中包含的内容来减少编译时间。您可以告诉 Heroku slug 编译器从它创建的应用程序 slug 中排除文档和源等内容。

Heroku 使用一个名为 .slugignore 的文件,它与 .gitignore 文件的概念相同。 Heroku 开发中心的 Slug 编译器文章介绍了 .slugignore 文件的详细信息:

https://devcenter.heroku.com/articles/slug-compiler

如果您不确定部署的实际组成,您可以使用以下命令通过安全 shell 连接到正在运行的 Heroku 应用程序

heroku run bash

然后,您可以浏览应用程序部署文件和文件夹,看看是否还有其他可以删除的内容。 Heroku Scala 构建包应该删除了像 ivy 缓存这样的东西。

关于Heroku 部署 play 2.1 应用程序非常慢(欧盟区域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301493/

相关文章:

java - Procfile 中要写什么?

internationalization - Playframework - 设置标签内的国际化

scala - 如何以 DRY 方式过滤/禁用 SBT 中所有子项目的 scalac 选项

scala - 每次与存储库同步后,IntelliJ 都会不断询问 "Setup Scala SDK"

windows - "No Processes Defined"来自工头检查一个简单的 node.js Procfile

macos - Mac Os Lion 上的 ruby​​gems 出现 "No such file or directory - getcwd"错误

django - heroku上的gunicorn : binding to localhost

java - 在 Play 框架中使用 java 类与 Scala 作为 Json 对象返回

java - 为什么作为路由参数的映射类型不匹配?

scala - 如何使用 SBT 打印项目构建的测试配置中的所有设置?