heroku上的clojure worker-only应用程序因错误R10而失败

时间:2015-06-08 18:02:46

标签: heroku clojure sigkill

我按照Carin Meier How I Start帖子的说明操作,并且遇到运行没有网络组件的clojure应用程序的问题。

我的Procfile有建议:

worker: lein trampoline run

但是当我部署时,它说:

  

遥控器:----->发现流程类型

     

remote:Procfile声明类型 - >工人

     

remote:Clojure的默认类型(Leiningen 2) - >网络

我不确定最后一行的来源。由于我的应用程序根本没有连接到网络,因此它被杀死了:

  

错误R10(启动超时) - > Web进程无法绑定到$ PORT   发射60秒

     

使用SIGKILL停止进程

如果它不清楚,我对Heroku来说是一个n00b ......我错过了什么?如何删除Default types for Clojure (Leiningen 2) -> web设置以及期望我bind to $PORT

1 个答案:

答案 0 :(得分:2)

Heroku Clojure buildpack假设您正在部署Web应用程序,并自动尝试创建一个" web"流程类型为您服务。这是一个不好的假设,我会修复它(我是Clojure buildpack维护者)。

尽管你看到了错误,但是你的工人"过程应该还可以。这个错误只是意味着" web"过程,你没有,没有运行。

您可以在同步的一次性流程中运行您的员工,如下所示:

$ heroku run worker

或者您可以在后台(分离)运行它,如下所示:

$ heroku run:detached worker 

或者,如果您希望它永久运行,您可以运行:

$ heroku ps:scale worker=1

无论如何,您可以通过查看以下日志来登记:

$ heroku logs --tail

希望有所帮助。