运行DelayedJob工作程序会导致rails应用程序挂起

时间:2016-03-31 19:52:43

标签: ruby-on-rails ruby heroku delayed-job puma

我有一个部署到Heroku的Rails应用程序。它目前拥有2倍的网络动态和1倍的工作人员动态。除此之外,目前没有活跃的用户。

当工作人员dyno正在运行时,app/web.1上的H12错误频繁出现。当工人停止时,错误就会停止。

在应用内,用户可以上传CSV文件,然后DelayedJob在解析CSV文件的工作人员上运行服务,并保存ContactEmailAddressPhoneNumber个对象到数据库。还有一些重复数据删除和一些合并逻辑。

工人跑得很完美。但是当它运行时,我在使用该应用程序时遇到了很多麻烦。大多数加载页面的尝试最终超时,我在日志中看到这样的条目:

Mar 31 10:52:54 abb heroku/router:  at=error code=H12 desc="Request timeout" method=GET path="/contacts" host=abb.herokuapp.com request_id=a061e6b1-0233-4be1-9653-5db023d339ac fwd="99.17.86.166" dyno=web.1 connect=17ms service=30000ms status=503 bytes=0 
Mar 31 10:53:18 abb heroku/router:  at=error code=H12 desc="Request timeout" method=GET path="/" host=abb.herokuapp.com request_id=73d1e9e4-2e93-4e63-a86e-c8f90d22d172 fwd="50.250.42.142" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 
Mar 31 10:53:39 abb heroku/router:  at=error code=H12 desc="Request timeout" method=POST path="/contacts" host=abb.herokuapp.com request_id=83753eec-774b-4939-8ad5-3b5876c14151 fwd="99.17.86.166" dyno=web.1 connect=1ms service=30012ms status=503 bytes=0 
Mar 31 10:53:49 abb heroku/router:  at=error code=H12 desc="Request timeout" method=GET path="/favicon.ico" host=abb.herokuapp.com request_id=575492b9-e997-4be5-8044-1be37ec2eda6 fwd="50.250.42.142" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0

我正在使用Ruby 2.3,Rails 4.2.5.1,Postgres用于数据库,我对Unicorn和Puma都有同样的问题。任何想法为什么工人造成这些问题?

更新

我发现当我在开发和生产模式下本地运行应用程序时,我遇到了同样的问题。当工作人员正在处理CSV文件时,应用程序会挂起。

0 个答案:

没有答案