* Fix uncaching worker
* Revert to using Paperclip's filesystem backend instead of fog-local
fog-local has lots of concurrency issues, causing failure to delete files,
dangling file records, and spurious errors UncacheMediaWorker
gem 'aws-sdk-s3', '~> 1.9', require: false
gem 'fog-core', '~> 1.45'
-gem 'fog-local', '~> 0.5', require: false
gem 'fog-openstack', '~> 0.1', require: false
gem 'paperclip', '~> 6.0'
gem 'paperclip-av-transcoder', '~> 0.6'
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
- fog-local (0.5.0)
- fog-core (>= 1.27, < 3.0)
fog-openstack (0.1.25)
fog-core (~> 1.40)
fog-json (>= 1.0)
fast_blank (~> 1.0)
fastimage
fog-core (~> 1.45)
- fog-local (~> 0.5)
fog-openstack (~> 0.1)
fuubar (~> 2.2)
goldfinger (~> 2.1)
def perform(media_attachment_id)
media = MediaAttachment.find(media_attachment_id)
- return unless media.file.exists?
+ return if media.file.blank?
media.file.destroy
media.save
fog_public: true
)
else
- require 'fog/local'
-
Paperclip::Attachment.default_options.merge!(
- fog_credentials: {
- provider: 'Local',
- local_root: ENV.fetch('PAPERCLIP_ROOT_PATH') { Rails.root.join('public', 'system') },
- },
- fog_directory: '',
- fog_host: ENV.fetch('PAPERCLIP_ROOT_URL') { '/system' }
+ storage: :filesystem,
+ use_timestamp: true,
+ path: (ENV['PAPERCLIP_ROOT_PATH'] || ':rails_root/public/system') + '/:class/:attachment/:id_partition/:style/:filename',
+ url: (ENV['PAPERCLIP_ROOT_URL'] || '/system') + '/:class/:attachment/:id_partition/:style/:filename',
)
end