Carrierwave – 仅在从存储中删除已装入的文件后销毁对象
Carrierwave在对象销毁完成后删除文件:
after_commit :remove_avatar! :on => :destroy
https://github.com/carrierwaveuploader/carrierwave
我有一个删除文件的工人。 如果其中一个工作人员在从S3删除文件时超时,我将失去对S3上文件的跟踪,并且我的存储桶变得一团糟(因为我的对象已安装文件已从我的数据库中消失)。
我该怎么处理? 直接调用remove_avatar!
在我的object.destroy
然后skip_callback?
安全吗?
class User < ActiveRecord::Base mount_uploader :avatar, AvatarUploader before_destroy :clean_s3 private def clean_s3 avatar.remove! avatar.thumb.remove! # if you have thumb version or any other version rescue Excon::Errors::Error => error puts "Something gone wrong" false end end
- AWS :: S3 :: S3Object.url_for – 如何使用新的AWS SDK Gem执行此操作?
- 如何设置Amazon S3,paperclip和ENV变量
- Paperclip – 从Amazon S3删除文件?
- 使用activestorage直接上传时如何在上传到S3时指定前缀?
- 通过单击Amazon S3上托管的链接更改jPlayer上的歌曲
- 使用Ruby aws-sdk跟踪上传文件到S3的进度
- 自动将文件部署到Amazon S3?
- AWS S3 / Ruby on Rails / heroku:我的应用程序中的安全漏洞
- 从AWS S3读取CSV文件时获取“Errno :: ENOENT:没有此类文件或目录@ rb_sysopen”