]> cat aescling's git repositories - mastodon.git/commitdiff
Revert to using Paperclip's filesystem storage, and fix dangling records in remove_re...
authorThibG <thib@sitedethib.com>
Tue, 21 Aug 2018 15:53:01 +0000 (17:53 +0200)
committerEugen Rochko <eugen@zeonfederated.com>
Tue, 21 Aug 2018 15:53:01 +0000 (17:53 +0200)
* 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

Gemfile
Gemfile.lock
app/workers/maintenance/uncache_media_worker.rb
config/initializers/paperclip.rb

diff --git a/Gemfile b/Gemfile
index 31c3c808619769ed40ec1f5064b1979036922ec3..516d397a247ec3a878205d9e58f7b63876e496f3 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -16,7 +16,6 @@ gem 'dotenv-rails', '~> 2.2', '< 2.3'
 
 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'
index fbffc0c2d5f2bb2318bd0ce589064e3f20e50d4e..ea0e3f0cd7ffe3a5a9e3473e019044b628b50594 100644 (file)
@@ -220,8 +220,6 @@ GEM
     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)
@@ -679,7 +677,6 @@ DEPENDENCIES
   fast_blank (~> 1.0)
   fastimage
   fog-core (~> 1.45)
-  fog-local (~> 0.5)
   fog-openstack (~> 0.1)
   fuubar (~> 2.2)
   goldfinger (~> 2.1)
index f6a51a1b8b274f75d42835a5858cbe732b48a08c..2d1a670a76ce6e9e4d5b3f77aabbbed34bd8d8b7 100644 (file)
@@ -8,7 +8,7 @@ class Maintenance::UncacheMediaWorker
   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
index c134bc5b8feb00e29a1044d9423a8edfd4d25c23..59ab9b9a127aecf85586c795bcddcea733f59915 100644 (file)
@@ -74,14 +74,10 @@ elsif ENV['SWIFT_ENABLED'] == 'true'
     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