加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Heroku中的Rails应用程序中的随机超时异常

发布时间:2020-12-16 21:39:34 所属栏目:百科 来源:网络整理
导读:我在Heroku上安装一个Rails 3.2应用程序,每天在Rails应用程序中获得2-3次超时.这些不是H12请求超时,而是在Rails堆栈中发生的超时.因此,他们实际上在网站上产生异常并出现在我的Airbrake日志中. 似乎是超时发生的完全随机;有时它在一个像Formtastic这样的宝石
我在Heroku上安装一个Rails 3.2应用程序,每天在Rails应用程序中获得2-3次超时.这些不是H12请求超时,而是在Rails堆栈中发生的超时.因此,他们实际上在网站上产生异常并出现在我的Airbrake日志中.

似乎是超时发生的完全随机;有时它在一个像Formtastic这样的宝石,或在一个HAML视图内,或在ActiveRecord代码.你可以在这里看到一些回溯的例子:https://gist.github.com/dpmccabe/5238273

这个网站没有太多的流量,运行良好,在两个dynos(虽然他们自动放大,由于Adept Scale附加). HTTP_X_HEROKU_QUEUE_WAIT_TIME标头通常为低或为零,所以我不认为这是一个路由问题.我甚至尝试从Thin切换到Unicorn,没有任何效果(我的unicorn.rb在上面的要点中显示).

事实上,这些超时异常似乎在整个应用程序中随机发生,这并不意味着我继续下去.我有新的遗物,但我不知道如何去调试这个.有任何想法吗?

解决方法

我在我的应用程序主机上遇到了同样的问题.

我检查了日志,发现很少的请求需要超过30秒的时间来处理,这导致了heroku上的超时错误.
在我的情况下,打印到日志的问题,我有一个分段服务器,它有大量的输入和输出数据打印到服务器日志,花费了超过30秒的时间打印,heroku将假设请求仍在进行中,即使在从远程api收到响应,因为它还没有完成将数据打印到日志中.

所以我删除了打印输入的所有print语句(输入由代码构造的xml数据),并输出(从api接收的xml数据)到日志.

>所以我建议你检查日志,看看请求是否需要超过30秒的时间来处理
>检查是否打印需要时间在日志上打印的数据(用于调试目的).

再次,这可能不是您的问题的答案,但这是我如何解决我的.希望有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读