我正在尝试将一个ruby( NOT rails)应用程序部署到Heroku。我的proc文件布局如下:
console: bundle exec ruby main.rb
然而,我的应用程序从未实际启动过。系统上的日志都很安静,我看不到任何错误输出。
如果我运行本地系统上的proc文件中显示的命令,我的程序将启动并完全按照预期运行。
更有趣的是,如果我运行heroku console
,应用程序会立即启动控制台本身。看起来像是与procfile的一些交互?如何在没有连接到Heroku上的控制台的情况下自动启动我的应用并捕获标准输出?
答案 0 :(得分:5)
如果您希望运行console
条目,则需要scale it:
$ heroku ps:scale console=1
也就是说,Heroku使用console
来表示“我在我的应用程序上执行某些交互式管理功能所使用的东西”,这就是为什么heroku console
运行console
Procfile条目< em>和为您提供双向管道。你似乎有不同的含义 - “我需要总是运行以执行某些后台任务”。 (web
对Heroku也有特殊意义 - 路由网格会向web
进程发送HTTP请求。)因此我也会重命名,因此console
仍然意味着“控制台”。
您可以选择main
,与main.rb
保持一致,但我会鼓励您考虑此组件实际执行的操作,而是同时为Procfile条目和main.rb
提供描述标签