Ошибка Heroku H12 (тайм-аут запроса)
Я знаю ее другой Heroku ошибка H12 (тайм-аут запроса) проблема. Похоже, что проблема вызвана многими другими причинами. Несколько дней назад я развернул приложение Rails 3.2.2 на heroku. Когда я пытаюсь получить доступ к моему приложению через браузер. У меня
Application Error
An error occurred in the application and your page could not be served. Please try again in a few moments.
If you are the application owner, check your logs for details.
Итак, я начала искать в интернете, как обычно, чтобы понять, что не так. Тогда я научусь использовать в Heroku журналы чтобы проверить мой файл журнала. Вот файл журнала.
2012-06-11T03:16:51+00:00 heroku[web.1]: Unidling
2012-06-11T03:16:51+00:00 heroku[web.1]: State changed from down to created
2012-06-11T03:16:51+00:00 heroku[web.1]: State changed from created to starting
2012-06-11T03:16:56+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 43527`
2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO WEBrick 1.3.1
2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO WEBrick::HTTPServer#start: pid=1 port=43527
2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO ruby 1.9.2 (2011-07-09) [x86_64-linux]
2012-06-11T03:17:17+00:00 heroku[web.1]: State changed from starting to up
2012-06-11T03:17:19+00:00 app[web.1]: => Booting WEBrick
2012-06-11T03:17:19+00:00 app[web.1]: => Rails 3.2.2 application starting in production on http://0.0.0.0:43527
2012-06-11T03:17:19+00:00 app[web.1]: => Call with -d to detach
2012-06-11T03:17:19+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-06-11T03:17:19+00:00 app[web.1]:
2012-06-11T03:17:19+00:00 app[web.1]:
2012-06-11T03:17:19+00:00 app[web.1]: Started GET "/" for 123.240.186.119 at 2012-06-11 03:17:19 +0000
2012-06-11T03:17:20+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2012-06-11T03:17:20+00:00 app[web.1]: Rendered static_pages/home.html.erb within layouts/application (40.3ms)
2012-06-11T03:17:49+00:00 heroku[router]: Error H12 (Request timeout) -> GET cold-lightning-6691.herokuapp.com/ dyno=web.1 queue= wait= service=30000ms status=503 bytes=0
после просмотра журналов я не действительно понимаю, что не так. Я снова в Интернете. Кажется, есть много разных причин, которые могут вызвать эту проблему. Я знаю, что в моем приложении могут быть ошибки. Но я не могу сказать, какая часть моего кода неверна.
и Я могу запустить приложение на своем локальном компьютере. Так вы знаете в чем проблема или как определить проблему?
обновление:
когда я делаю git push heroku
Я получаю эту ошибку сообщение
Your bundle is complete! It was installed into ./vendor/bundle
Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
и я бегу $ heroku run rake assets: precompile --trace
Я получил
Running rake assets:precompile --trace attached to terminal... up, run.1
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0- rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/usr/local/bin/ruby /app/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
Unexpected token: operator (<) (line: 11780, col: 1, pos: 325392)
Error
at new JS_Parse_Error (/tmp/execjs20120611-10-3yiu6e.js:497:22)
at js_error (/tmp/execjs20120611-10-3yiu6e.js:505:15)
at croak (/tmp/execjs20120611-10-3yiu6e.js:954:17)
at token_error (/tmp/execjs20120611-10-3yiu6e.js:961:17)
at unexpected (/tmp/execjs20120611-10-3yiu6e.js:967:17)
at /tmp/execjs20120611-10-3yiu6e.js:1340:17
at maybe_unary (/tmp/execjs20120611-10-3yiu6e.js:1425:27)
at expr_ops (/tmp/execjs20120611-10-3yiu6e.js:1452:32)
at maybe_conditional (/tmp/execjs20120611-10-3yiu6e.js:1456:28)
at maybe_assign (/tmp/execjs20120611-10-3yiu6e.js:1480:28)
(in /app/app/assets/javascripts/application.js)
/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:67:in `extract_result'
/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:27:in `block in exec'
/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:40:in `compile_to_tempfile'
/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:26:in `exec'
/app/vendor/bundle/ruby/1.9.1/gems/uglifier-1.2.3/lib/uglifier.rb:101:in `compile'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/compressors.rb:74:in `compress'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processing.rb:265:in `block in js_compressor='
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processor.rb:29:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processor.rb:29:in `evaluate'
/app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:177:in `block in evaluate'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:174:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:174:in `evaluate'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/bundled_asset.rb:26:in `initialize'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:244:in `new'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:244:in `build_asset'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:89:in `block in build_asset'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/caching.rb:19:in `cache_asset'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:88:in `build_asset'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:163:in `find_asset'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:56:in `find_asset'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/static_compiler.rb:20:in `block in compile'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:212:in `block in each_logical_path'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:200:in `block (2 levels) in each_file'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:190:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:190:in `each_entry'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:198:in `block in each_file'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:197:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:197:in `each_file'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:210:in `each_logical_path'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/static_compiler.rb:18:in `compile'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:56:in `internal_precompile'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `<main>'
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [/usr/local/bin/ruby /app/vendor/bundle/rub...]
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:80:in `ruby'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `ruby'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:12:in `ruby_rake_task'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
/app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `<main>'
Tasks: TOP => assets:precompile
5 ответов
Это случилось со мной сегодня. Это не типичное поведение, но, по-видимому, все, что мне нужно было сделать, это ругать хероку через монитор компьютера, ждать, пока он подумает о том, насколько непослушным он был, и, наконец, он исправил свое поведение.
иногда Heroku капризен?
кажется, что вы получаете тайм-аут, может быть, этот вызов feed () занимает более 30 секунд?
подробнее о кодах ошибок H12 в https://devcenter.heroku.com/articles/error-codes#h12__request_timeout. Я также рекомендую вам установить Rack-timeout, как описано вhttps://devcenter.heroku.com/articles/request-timeout.
ошибки оказались приложением.стиль CSS. Есть ошибки в одном .css.scss
файлы /assets/stylesheets
когда я побежал разгребать assets:precompile
на локальном mahcine он показал ошибки в application.css
. Он указал, какой код применяется.CSS-это неправильно.
после того, как я пересмотрел css, и я должен поставить config.assets.initialize_on_precompile = false' in
конфиг/приложения.rb'
http://www.simonecarletti.com/blog/2012/02/heroku-and-rails-3-2-assetprecompile-error/
проблема решена!
У меня была аналогичная проблема, и после отказа в течение дня я вернулся к ней и нашел свою ошибку. Я не отправлял ответ клиенту, когда на стороне сервера произошла ошибка. Убедитесь, что вы возвращаете ответ независимо от результата алгоритма на стороне сервера. Если есть ошибка, верните ее. Если запрос был удовлетворен, верните ответ. Надеюсь, это поможет.
Если это не поможет, ознакомьтесь с руководствами heroku по обработке таймаутов запросов, особенно может помочь раздел таймауты запросов отладки.
У меня была очень похожая проблема и сузила ее до проблемы подключения к базе данных. Я использую ClearDB в Кедровом стеке Heroku и обнаружил, что, вставив "use ActiveRecord:: ConnectionAdapters:: ConnectionManagement" в мой config.ru файл, проблема уходит.