Heroku sbt play控制台运行缓慢。

3

嗨,我在Heroku上运行Play框架2.1 RC1(但这适用于sbt),只有1个web dyno。

我经常想要使用命令heroku run sbt play console访问Scala REPL以执行某些操作。

一切都很好,但从命令到REPL需要大约10分钟。 编译速度比部署时慢10倍。

有没有什么方法可以更快地在Heroku中进入REPL?或者初始化一个REPL实例,然后附加到它?

2个回答

2
我曾在Heroku上使用Play 2.1.1,但是经常遇到非常长的构建时间。很多时候部署会被中止(Slug编译目前仅限于15分钟)。
后来发现我当时使用的sbt 0.12.3相当慢(内存问题)。大多数这些问题已经在更快的sbt 0.12.4中得到了解决。不幸的是,Heroku目前只支持SBT 0.11.0 - 0.12.3。
然而,通过更改构建包URL,您可以使用sbt 0.12.4进行构建: $ heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-scala.git#sbt-0.12.4

1
你正在启动一个远程服务,只有1个dyno(这意味着在1小时后它会“休眠”,当它唤醒时就必须冷启动dyno)。当然它很慢。
当然,10分钟有点太长了(除非你有一个庞大的项目、慢速连接或其他外部因素(比如平台本身存在问题))。
无论如何,只有Heroku可能能解决这个问题,你应该向他们开放支持票据。

感谢您的评论。Heroku速度快,部署时间也很好。我看不出为什么“sleep”会成为这个问题的原因。项目相对较小,只有4000行Scala代码。但由于部署时间短,为什么要去REPL进行x10编译时间呢?这似乎是平台问题。我将与Heroku进行核实。 - weakwire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接