【问题标题】:application error on the web after you git push to Herokugit push 到 Heroku 后网络上的应用程序错误
【发布时间】:2017-01-10 09:02:52
【问题描述】:

基本上,在我 git push 到 Heroku 之后,我的网站会抛出一个名为

的错误

应用程序错误:应用程序和您的页面发生错误

无法提供。如果您是应用程序所有者,

查看您的日志以了解详细信息。

但是当我刷新页面时,我的网站加载成功...为什么?

供您参考,我正在使用 Rails 在 Heroku 上运行 Hobbyist Dyno

这是日志:

git push staging master
heroku logs -t --remote staging



2017-01-10T19:07:34.332770+00:00 app[api]: Release v54 created by user xxx@gmail.com
2017-01-10T19:07:35.190813+00:00 heroku[web.1]: Restarting
2017-01-10T19:07:35.191331+00:00 heroku[web.1]: State changed from up to starting
2017-01-10T19:07:35.233553+00:00 heroku[worker.1]: Restarting
2017-01-10T19:07:35.234020+00:00 heroku[worker.1]: State changed from up to starting
2017-01-10T19:07:35.995721+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2017-01-10T19:07:36.104550+00:00 heroku[worker.1]: Stopping all processes with SIGTERM


> 2017-01-10T19:07:36.082662+00:00 app[web.1]: [4] - Gracefully shutting down workers...
> 2017-01-10T19:07:36.121359+00:00 app[worker.1]: 4 TID-ow38ibptk INFO: Shutting down
> 2017-01-10T19:07:36.121553+00:00 app[worker.1]: 4 TID-ow38ibptk INFO: Terminating quiet workers
> 2017-01-10T19:07:36.122499+00:00 app[worker.1]: 4 TID-ow39cbrbg INFO: Scheduler exiting...
> 2017-01-10T19:07:36.623708+00:00 app[worker.1]: 4 TID-ow38ibptk INFO: Pausing to allow workers to finish...

> 2017-01-10T19:07:37.504392+00:00 app[web.1]: [4] === puma shutdown: 2017-01-10 19:07:37 +0000 ===

> 2017-01-10T19:07:37.504408+00:00 app[web.1]: [4] - Goodbye!
> 2017-01-10T19:07:37.800069+00:00 heroku[web.1]: Process exited with status 0
> 2017-01-10T19:07:38.127333+00:00 app[worker.1]: 4 TID-ow38ibptk INFO: Bye!
> 2017-01-10T19:07:38.345364+00:00 heroku[worker.1]: Process exited with status 0
> 2017-01-10T19:07:42.226982+00:00 heroku[web.1]: Starting process with command 

【问题讨论】:

  • 不,这不正常。请使用heroku logs -t观察日志,看看是否有异常。在这里也发布日志以帮助我们更好地解决问题。
  • @31piy 我明白了...不知道我做错了什么:(请帮助我!附件是日志。
  • 您提供的日志不够用。请在您点击应用程序后发布日志,请不要附加图片。编辑您的帖子并添加日志。
  • @31piy 听起来不错!完成后我会告诉你的! :)
  • 您的应用在第一次点击时会超时。您在应用启动时有什么繁重的工作吗?

标签: ruby-on-rails ruby git heroku


【解决方案1】:

我发现问题出在我的 production.rb 配置中。我使用 New Relic APM 帮助我缩小导致超时的范围。发现它不是我的中间件或后端。这基本上是我的资产管道问题。

生产.rb

config.assets.debug = true #I was setting it to true..
config.assets.debug = false #<- fixes the issue... Plus, I was putting unnecessary js codes in my application.html.erb

经验教训...

我学到了很多关于 Sidekiq 的知识,并认为它导致了问题,哈哈,而且 New Relic APM 在跟踪代码的哪一部分导致超时问题方面肯定很棒。另外,尽量不要在一页放太多js代码...

【讨论】:

    【解决方案2】:

    按照以下步骤解决问题:

    1. 首先在本地机器上测试您的网站,无论是在开发模式还是在生产模式。
    2. 通过以下命令在 heroku 上运行任何挂起的迁移:heroku run rake db:migrate
    3. 打开heroku控制台并通过命令实时显示日志: heroku 日志 -t 并点击 heroku 链接,然后您将显示错误日志。

    【讨论】:

    • 我 100% 同意你的观点,这就是我所做的! :D 当然,试试 New Relic APM 跟踪工具......真是太棒了......
    • 是的:) 只是请求超时...没有详细说明...没有任何可识别的错误
    • 您的应用在生产环境的本地机器上是否正常运行?
    • 如果您没有发现错误,那么您可以向 heroku 支持添加一张票,他们会帮助您。
    • 如果任何进程花费的时间超过 30 秒,则会显示请求超时 H12 错误。
    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 2019-03-08
    • 2015-07-08
    • 2013-02-03
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多