0

我正在按照 Carin Meier 的“我如何开始”帖子中的说明进行操作,但在运行没有 Web 组件的 clojure 应用程序时遇到了问题。

我的 Procfile 有建议:

worker: lein trampoline run

但是当我部署时,它说:

远程: -----> 发现进程类型

远程:Procfile 声明类型 -> 工作者

远程:Clojure (Leiningen 2) -> web 的默认类型

我不确定最后一行是从哪里来的。由于我的应用程序根本没有连接到网络,所以它被杀死了:

错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT

使用 SIGKILL 停止进程

如果不清楚,我是 Heroku 的 n00b ......我错过了什么?如何删除Default types for Clojure (Leiningen 2) -> web设置和我会的期望bind to $PORT

4

1 回答 1

3

Heroku Clojure buildpack 假定您正在部署一个 Web 应用程序,并自动尝试为您创建一个“Web”进程类型。这是一个糟糕的假设,我会修复它(我是Clojure buildpack维护者)。

尽管您看到了错误,但您的“工人”流程应该仍然可以。该错误仅意味着您没有的“网络”进程没有运行。

您可以像这样在同步的一次性流程中运行您的工作人员:

$ heroku run worker

或者您可以像这样在后台(分离)运行它:

$ heroku run:detached worker 

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

$ heroku ps:scale worker=1

无论如何,您可以通过查看日志来检查它,如下所示:

$ heroku logs --tail

希望有帮助。

于 2015-06-08T20:28:17.423 回答