【问题标题】:Error H10: Application Error on Heroku错误 H10:Heroku 上的应用程序错误
【发布时间】:2012-10-23 19:39:51
【问题描述】:

我是使用 Rails 和 Heroku 的新手。我尝试将我的应用程序推送到 Heroku 并且推送成功,但由于某种原因,我在 Heroku 站点上收到了应用程序错误:

"An error occurred in the application and your page could not be served." 

如果有人可以提供帮助,那就太好了。传递有关我的应用程序和环境的一些信息。

在我的 Gem 文件中,我正在运行以下数据库:

group :development, :test do
gem "sqlite3", "~> 1.3.6"
end

group :production do 
gem 'pg'
end

group :assets do
gem 'sass-rails',   '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
end

在 Database.yml 中设置了以下数据库:

development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000

production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000

首先我不明白为什么 .yml 文件在生产服务器中仍然显示 Sqlite3?它不应该更改为pgres吗?在 Heroku 日志中,这是显示的关键错误消息:

 2012-10-23T19:22:36+00:00 heroku[router]: Error H10 (App crashed) -> GET thawing-dusk-  8202.herokuapp.com/analysis dyno= queue= wait= service= status=503 bytes=

希望有人能帮我解决这个问题!

谢谢,

【问题讨论】:

  • 推送到heroku时.yml文件无效。上推后它会用自己的替换它。我不得不承认,在您发布完整的堆栈跟踪之前,我不确定您可以在哪里查看。您可以使用命令heroku logs 查看日志,或者您甚至可以尝试访问控制台并查看是否以heroku run console 的方式获得跟踪。您可以尝试的另一件事是在本地生产中运行 rails 应用程序,看看是否有效。
  • 运行 heroku rake db migrate

标签: ruby-on-rails heroku


【解决方案1】:

您的 Rails 应用程序很可能在从源文件启动时引发异常。

此异常在开发环境中可能并不明显,因为 Rails 在开发或测试时不会急切地加载文件。但是,当生产环境导致 Rails 应用程序急切地加载所有源文件时,异常会中断应用程序的启动过程,并且应用程序会因 Heroku 日志中缺少堆栈跟踪而崩溃。

要获得信息丰富的堆栈跟踪,请从运行 heroku run rails c 的终端访问 Rails 控制台,假设您的项目包含并配置了 Heroku Toolbelt。这也会在启动时失败,因为您正在访问生产环境,但堆栈跟踪将比 Heroku 日志更广泛。

诊断问题的另一种方法是将开发环境设置为预先加载源文件。

# config/environments/development.rb
Rails.application.configure do

  config.eager_load = true

end

最后,此问题的最佳解决方案是审查您的测试套件(如果有),以包括验证源文件功能的测试用例。

【讨论】:

    【解决方案2】:

    检查是否有任何耗时超过 30 秒的进程,如果是,则您的应用将因 H10 错误而崩溃。

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      相关资源
      最近更新 更多