Revert unique retry job (#4937)

* Revert "Enable UniqueRetryJobMiddleware even when called from sidekiq worker (#4836)"

This reverts commit 6859d4c028.

* Revert "Do not execute the job with the same arguments as the retry job (#4814)"

This reverts commit be7ffa2d75.
master
abcang 7 years ago committed by Eugen Rochko
parent 94fba44eec
commit 1aad015bbb
  1. 2
      app/workers/pubsubhubbub/subscribe_worker.rb
  2. 1
      config/application.rb
  3. 6
      config/initializers/sidekiq.rb
  4. 20
      lib/mastodon/unique_retry_job_middleware.rb

@ -3,7 +3,7 @@
class Pubsubhubbub::SubscribeWorker class Pubsubhubbub::SubscribeWorker
include Sidekiq::Worker include Sidekiq::Worker
sidekiq_options queue: 'push', retry: 10, unique: :until_executed, dead: false, unique_retry: true sidekiq_options queue: 'push', retry: 10, unique: :until_executed, dead: false
sidekiq_retry_in do |count| sidekiq_retry_in do |count|
case count case count

@ -10,7 +10,6 @@ require_relative '../app/lib/exceptions'
require_relative '../lib/paperclip/gif_transcoder' require_relative '../lib/paperclip/gif_transcoder'
require_relative '../lib/paperclip/video_transcoder' require_relative '../lib/paperclip/video_transcoder'
require_relative '../lib/mastodon/version' require_relative '../lib/mastodon/version'
require_relative '../lib/mastodon/unique_retry_job_middleware'
Dotenv::Railtie.load Dotenv::Railtie.load

@ -9,14 +9,8 @@ end
Sidekiq.configure_server do |config| Sidekiq.configure_server do |config|
config.redis = redis_params config.redis = redis_params
config.client_middleware do |chain|
chain.add Mastodon::UniqueRetryJobMiddleware
end
end end
Sidekiq.configure_client do |config| Sidekiq.configure_client do |config|
config.redis = redis_params config.redis = redis_params
config.client_middleware do |chain|
chain.add Mastodon::UniqueRetryJobMiddleware
end
end end

@ -1,20 +0,0 @@
# 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
Loading…
Cancel
Save