amazon s3 - Rails 4 Delayed_Paperclip File Upload S3 Heroku



我使用delayed_paperclip异步上传图像到S3。但是,它似乎总是首先加载原始图像大小,导致长时间延迟,对于其他图像样式,我得到响应:AWS::S3::Errors::NoSuchKey NoSuchKey

model.rb:

has_attached_file :asset, 
    :styles => { large: "800x800>", medium: "500x500>", small: "200x200>", thumb: "40x40#" },
    :default_url => "/images/:style/missing.png",
    :storage => :s3,
    :bucket => 'X',
    :s3_credentials => {XY}
process_in_background :asset
包含

Delayed_Job,并将列添加到模型中:

t.boolean  "asset_processing"

谢谢!

我在before_save方法中重命名附件的文件名以混淆它。在没有delayed_paperclip的情况下,文件重命名可以正常工作,但是由于延迟的进程,文件重命名不能像预期的那样工作,并且文件的路径被搞砸了,从而产生AWS错误。

我相信delayed_paperclip上传了原始文件,然后重新获取它以供稍后处理,因为本地存储中的原始文件不再存在。我把这个重命名代码移动到paperclipbefore_post_process回调,一切都很好。

也许你也在做类似的事情?

感谢您的回复。我的问题是,我遗漏了用于开发目的的worker。

在我的控制台中运行:bundle exec rake jobs:work后,其余的样式正在加载。

最新更新