使用Heroku部署简单的Ruby代码

时间:2014-09-16 17:22:20

标签: ruby heroku

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

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

我创建了一个Procfile

worker: ruby myapp.rb

日志说" config.ru找不到",我应该把什么放在我的config.ru中?

更新 仍然没有工作......

Procfile:

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]:   发布由xyz@xyz.com创建的v16   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(启动   超时) - > Web进程无法在60秒内绑定到$ PORT   发布2014-09-17T03:28:51.121241 + 00:00 heroku [web.1]:停止   使用SIGKILL进行处理

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

2 个答案:

答案 0 :(得分:0)

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

require './myapp'

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

答案 1 :(得分:0)

行。我想出了问题

我必须运行以下命令来启动工作

heroku ps:scale worker=1

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

相关问题