[英]Timeout error from unicorn while uploading a file
我在Heroku上使用独角兽。 我遇到的问题之一是文件上传。 我们使用载波进行上传,基本上,即使文件大小约为2MB,在完成50-60%的上传时,Unicorn也会超时。
在本地进行测试时,我们没有使用独角兽,对于本地大文件,我也没有任何问题(尽管文件是通过carrierwave上载到AWS的,就像生产和登台一样)。 但是,在登台和生产服务器上,我看到我们超时了。
有解决此问题的策略吗? 我不确定是否可以延迟上传此文件(因为我需要向用户确认该文件确实已成功上传)。
谢谢! 林哥
如果要通过Heroku将大文件上传到S3,则无法合理地避免超时。 如果有人决定上传较大的文件,则会超时。 如果上传到Heroku,转移到S3并处理的时间超过30秒,则请求将超时。 同样有充分理由的,30秒的请求也只是糟糕的性能。
这篇博客文章(和github仓库)非常有帮助: http : //pjambet.github.io/blog/direct-upload-to-s3/
有了它,您应该能够直接将文件上传到S3。 您完全避免点击Heroku进行大部分上传。 使用jquery-fileupload的回调,您可以在文件成功上传后发布到您的应用程序中,并使用delay_job在后台对其进行处理。 向您的用户确认上传成功是您需要解决的应用程序问题。
听起来您的超时设置太低。 您的独角兽配置是什么样的?
参见https://devcenter.heroku.com/articles/rails-unicorn作为一个好的起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.