heroku 上的 clojure worker-only 应用程序因错误 R10 而失败
clojure worker-only app on heroku fails with Error R10
我正在按照 Carin Meier 的 How I Start post 的说明进行操作,运行 没有 Web 组件的 clojure 应用程序有问题。
我的 Procfile 有建议:
worker: lein trampoline run
但是当我部署时,它说:
remote: -----> Discovering process types
remote: Procfile declares types -> worker
remote: Default types for Clojure (Leiningen 2) -> web
我不确定最后一行是从哪里来的。由于我的应用根本没有连接到网络,它被杀死了:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within
60 seconds of launch
Stopping process with SIGKILL
如果不清楚,我是 Heroku 的新手……我错过了什么?如何删除 Default types for Clojure (Leiningen 2) -> web
设置和我将 bind to $PORT
的期望?
Heroku Clojure buildpack 假定您正在部署 Web 应用程序,并会自动尝试为您创建一个 "web" 进程类型。这是一个错误的假设,我会修复它(我是 Clojure buildpack 维护者)。
尽管您看到了错误,但您的 "worker" 过程应该仍然正常。该错误仅表示您没有的 "web" 进程不是 运行ning。
您可以 运行 您的工作人员在这样的同步一次性流程中:
$ heroku run worker
或者您可以像这样 运行 它在后台(分离):
$ heroku run:detached worker
或者,如果您希望它永久 运行,您可以 运行 这个:
$ heroku ps:scale worker=1
无论如何,您可以通过查看日志来检查它:
$ heroku logs --tail
希望对您有所帮助。
我正在按照 Carin Meier 的 How I Start post 的说明进行操作,运行 没有 Web 组件的 clojure 应用程序有问题。
我的 Procfile 有建议:
worker: lein trampoline run
但是当我部署时,它说:
remote: -----> Discovering process types
remote: Procfile declares types -> worker
remote: Default types for Clojure (Leiningen 2) -> web
我不确定最后一行是从哪里来的。由于我的应用根本没有连接到网络,它被杀死了:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Stopping process with SIGKILL
如果不清楚,我是 Heroku 的新手……我错过了什么?如何删除 Default types for Clojure (Leiningen 2) -> web
设置和我将 bind to $PORT
的期望?
Heroku Clojure buildpack 假定您正在部署 Web 应用程序,并会自动尝试为您创建一个 "web" 进程类型。这是一个错误的假设,我会修复它(我是 Clojure buildpack 维护者)。
尽管您看到了错误,但您的 "worker" 过程应该仍然正常。该错误仅表示您没有的 "web" 进程不是 运行ning。
您可以 运行 您的工作人员在这样的同步一次性流程中:
$ heroku run worker
或者您可以像这样 运行 它在后台(分离):
$ heroku run:detached worker
或者,如果您希望它永久 运行,您可以 运行 这个:
$ heroku ps:scale worker=1
无论如何,您可以通过查看日志来检查它:
$ heroku logs --tail
希望对您有所帮助。