【问题标题】:Deploying simple Ruby code with Heroku使用 Heroku 部署简单的 Ruby 代码
【发布时间】:2014-11-10 13:33:13
【问题描述】:

我有一个简单的 Ruby 应用程序,可以在 Heroku 控制台 (heroku run ruby myapp.rb) 内正常工作。如何让它完全自主运行?

它不是基于网络的应用程序,它基本上是从网站读取一些信息并发送电子邮件。

我创建了一个 Procfile

worker: ruby myapp.rb

日志显示“config.ru not found”,我应该在 config.ru 中添加什么?

更新 还是不行……

过程文件:

worker: bundle exec ruby parse_reg.rb

config.ru:

require './parse_reg'

Heroku 日志:

2014-09-17T03:27:39+00:00 heroku[slug-compiler]:Slug 编译 开始于 2014-09-17T03:27:47+00:00 heroku[slug-compiler]: Slug 编译完成 2014-09-17T03:27:47.743136+00:00 heroku[api]: 发布 v16 由 xyz@xyz.com 创建 2014-09-17T03:27:47.743136+00:00 heroku[api]: 部署 d4e3e5f xyz@xyz.com 2014-09-17T03:27:48.989789+00:00 heroku[web.1]: 状态从崩溃变为开始 2014-09-17T03:27:50.837609+00:00 heroku[web.1]:启动过程 命令bundle exec rackup config.ru -p 44532 2014-09-17T03:28:51.121035+00:00 heroku[web.1]:错误 R10(启动 timeout) -> Web 进程未能在 60 秒内绑定到 $PORT 启动 2014-09-17T03:28:51.121241+00:00 heroku[web.1]:停止 使用 SIGKILL 处理

好像我的 Procfile 没有被读取???这真的很奇怪!

【问题讨论】:

  • 如果它不是“网络应用程序”,为什么还要在网络服务器上运行它?
  • 它不是一个网页,但它可以做一些事情,比如发送电子邮件和阅读网站。您能推荐一个更适合此类应用的地方吗?

标签: ruby heroku


【解决方案1】:

只需在项目根目录中创建一个 config.ru 并添加

require './myapp'

确保 myapp.rb 文件是一个只需要它即可运行的脚本,它看起来像,因为它通过调用 ruby myapp.rb 工作。

【讨论】:

    【解决方案2】:

    好的。我发现了问题

    我必须运行以下命令才能启动工作人员作业

    heroku ps:scale worker=1
    

    参考:https://devcenter.heroku.com/articles/run-non-web-java-processes-on-heroku

    【讨论】:

      猜你喜欢
      • 2013-01-21
      • 2013-05-10
      • 2017-08-28
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 2012-10-30
      相关资源
      最近更新 更多