我试图在使用Rails在Heroku上运行Unicorn时允许大量上传,但我意识到任何大型上传可能需要比Unicorn工作者的超时时间更长的时间。这意味着(我已经看到这种情况发生)Unicorn主进程将终止上传大文件的工作程序,并且请求将超时(503错误)。
如果没有删除或大量增加我的服务器的超时,有没有办法允许上传工作程序在上传完成时挂起?或者,我是否完全误解了,而且最有可能导致我上传超时的其他内容?
我试图在使用Rails在Heroku上运行Unicorn时允许大量上传,但我意识到任何大型上传可能需要比Unicorn工作者的超时时间更长的时间。这意味着(我已经看到这种情况发生)Unicorn主进程将终止上传大文件的工作程序,并且请求将超时(503错误)。
如果没有删除或大量增加我的服务器的超时,有没有办法允许上传工作程序在上传完成时挂起?或者,我是否完全误解了,而且最有可能导致我上传超时的其他内容?
如果您要上传到S3,那么您可以“简单地”让用户将文件直接上传到S3而不是通过您的dynos,并在上传完成后获取。
有关此信息的更多信息,请查看类似的内容 CarrierWaveDirect
如果您要上传到S3,那么您可以“简单地”让用户将文件直接上传到S3而不是通过您的dynos,并在上传完成后获取。
有关此信息的更多信息,请查看类似的内容 CarrierWaveDirect
如果您在独角兽面前使用nginx作为反向代理,则可以使用 上传模块。配置完成后,nginx会处理上传并将其存储在/ tmp目录中,然后您的独角兽会获取请求参数,告诉它上传资产的位置和内容类型。没有更多的工作人员接受上传。
如果您不希望上传到与Web服务相同的服务器上,而是将其存储在S3中,则应遵循@Neil Middleton的建议并进行设置,以便直接上传。