Revert unique retry job (#4937)
* Revert "Enable UniqueRetryJobMiddleware even when called from sidekiq worker (#4836)" This reverts commitpull/4946/head6859d4c028
. * Revert "Do not execute the job with the same arguments as the retry job (#4814)" This reverts commitbe7ffa2d75
.
parent
94fba44eec
commit
1aad015bbb
|
@ -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…
Reference in New Issue