【发布时间】:2020-12-05 17:00:20
【问题描述】:
我目前正在使用ktor(一个用于创建 apis 的 kotlin 库)制作 IoT 项目。我能够顺利地将它部署在我的机器上,但是在我将它部署到 heroku 之后它开始得到错误
我的尝试
我已使用 shadowJar 将我的项目打包为胖 jar 文件
然后我添加了web: java -Dserver.port=$PORT -jar build/libs/Server.jarprocfile
它开始显示
2020-12-05T16:25:00.375911+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET
path="/test" host=bot-project-server.herokuapp.com request_id=a757b03c-3511-4075-86d2-c29fc7f58672
fwd="196.188.177.54" dyno= connect= service= status=503 bytes= protocol=https
然后我输入heroku ps:scale web=1 -a $My_App 什么都没有改变
1.30 分钟后出现另一个错误
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
我的最后一次尝试
我已经从 Procfile 中的web 更改为 => worker 这并没有太大的影响,只是在上面删除了Error R10 ^
我的代码
fun main(){
/**main*/
val mPort = System.getProperty("PORT")?.toInt() ?: 23567
embeddedServer(Netty, port = mPort){
doPost()
}.start(true)
}
fun Application.doPost() {
routing {
get("/test"){
this.call.respondText("Done!")
}
}
}
注意:我部署的同一个 jar 文件在我的机器上运行顺利。
【问题讨论】: