diff options
author | David Yip <yipdw@member.fsf.org> | 2017-09-09 14:28:08 -0500 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-09-09 14:28:08 -0500 |
commit | 514fc908a373306b32b2b6b9fc0d849161d88271 (patch) | |
tree | 0f0028e424b43dcf4a59b21ccc7170dfe883746b /lib | |
parent | b9f7bc149b2a6abfbdaee83e6992b617b8bdb18e (diff) | |
parent | 11bddd31ce33b654ef72b00221715e6026486e7c (diff) |
Merge tag 'v1.6.0rc3' into sync/upstream
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mastodon/unique_retry_job_middleware.rb | 20 | ||||
-rw-r--r-- | lib/mastodon/version.rb | 6 | ||||
-rw-r--r-- | lib/tasks/mastodon.rake | 13 |
3 files changed, 33 insertions, 6 deletions
diff --git a/lib/mastodon/unique_retry_job_middleware.rb b/lib/mastodon/unique_retry_job_middleware.rb new file mode 100644 index 000000000..75da8a0c9 --- /dev/null +++ b/lib/mastodon/unique_retry_job_middleware.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class Mastodon::UniqueRetryJobMiddleware + def call(_worker_class, item, _queue, _redis_pool) + return if item['unique_retry'] && retried?(item) + yield + end + + private + + def retried?(item) + # Use unique digest key of SidekiqUniqueJobs + unique_key = SidekiqUniqueJobs::UNIQUE_DIGEST_KEY + unique_digest = item[unique_key] + class_name = item['class'] + retries = Sidekiq::RetrySet.new + + retries.any? { |job| job.item['class'] == class_name && job.item[unique_key] == unique_digest } + end +end diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index fcca875d9..de2516d6c 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -9,11 +9,11 @@ module Mastodon end def minor - 5 + 6 end def patch - 1 + 0 end def pre @@ -21,7 +21,7 @@ module Mastodon end def flags - '' + 'rc2' end def to_a diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index f04201a3c..307bc240d 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -273,10 +273,17 @@ namespace :mastodon do desc 'Remove deprecated preview cards' task remove_deprecated_preview_cards: :environment do - return unless ActiveRecord::Base.connection.table_exists? 'deprecated_preview_cards' + next unless ActiveRecord::Base.connection.table_exists? 'deprecated_preview_cards' - class DeprecatedPreviewCard < PreviewCard - self.table_name = 'deprecated_preview_cards' + class DeprecatedPreviewCard < ActiveRecord::Base + self.inheritance_column = false + + path = '/preview_cards/:attachment/:id_partition/:style/:filename' + if ENV['S3_ENABLED'] != 'true' + path = (ENV['PAPERCLIP_ROOT_PATH'] || ':rails_root/public/system') + path + end + + has_attached_file :image, styles: { original: '280x120>' }, convert_options: { all: '-quality 80 -strip' }, path: path end puts 'Delete records and associated files from deprecated preview cards? [y/N]: ' |