2011-02-10 73 views
2

我在Sinatra应用程序中遇到了问题,我试图部署到Heroku - 这是我第一次使用Sinatra和Heroku。Heroku Sinatra应用程序反复崩溃,无法使用控制台

我有一个线.gems文件:“屈”,以及与如下的config.ru文件:

require 'myapplication' 
run Sinatra::Application 

力推的Heroku和导航到URL后,我收到一个页面说“应用程序崩溃”和以下文本:

此应用程序暂时脱机 。如果您是此应用的管理员 ,请检查您的heroku 日志以进行回溯。

从“Heroku的日志”的输出是:

 
2011-02-10T01:33:24-08:00 app[web.1]: from ./myapplication.rb:3 
2011-02-10T01:33:24-08:00 app[web.1]: from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' 
2011-02-10T01:33:24-08:00 app[web.1]: from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' 
2011-02-10T01:33:24-08:00 app[web.1]: from config.ru:2 
<-- TEXT SNIPPED --> 
2011-02-10T01:33:24-08:00 app[web.1]: from /home/heroku_rack/heroku.ru:1:in `new' 
2011-02-10T01:33:24-08:00 app[web.1]: from /home/heroku_rack/heroku.ru:1 
2011-02-10T01:33:25-08:00 heroku[web.1]: State changed from starting to crashed 
2011-02-10T01:33:32-08:00 heroku[nginx]: GET/HTTP/1.1 | 75.56.61.69 | 3310 | http | 500

凡myapplication.rb 3号线是一个“要求‘模型’”,其中“models.rb”存在于同一目录“ myapplication.rb”。

而且每当我运行“的Heroku控制台”命令,我收到以下内容:

Your application is too busy to open a console session. 
Console sessions require an open dyno to use for execution.

我已经试过各种选项,试图让这个消失,但尚未成功。

感谢您提供的任何帮助!

+0

如果SO不起作用,您可以尝试:http://groups.google.com/group/heroku/ – 2011-02-10 12:32:38

回答

0

我有同样的问题,所以这不是一个完整的答案,但也许它会有所帮助。如果你只是使用heroku logs,你只能得到20(或50线)的输出。你的错误跟踪看起来不像是从实际错误开始,因为它从“开始”开始,在我有限的经验中,它表明它不是源。如果还没有,请尝试使用heroku logs -n 200或更多,以获得更长的跟踪,并搜索“Errno”或“ERROR”等。它无助于控制台问题,但至少可以告诉你为什么你的应用程序无法正常工作。

0

如果您在使用Ruby 1.9.x(而不是旧版本的1.8.x版本)的Heroku堆栈上运行,请注意带有1.9的新“require_relative”指令,您必须用于引用相对于当前文件的路径中的文件。

这绊倒了我,因为我在本地用1.8.x的

发展。如果你想让它两个1.8.x的和1.9.x的工作,你可以这样做:

require "#{File.dirname(__FILE__)}/another_referenced_rb_file_in_same_directory"