Merge branch 'sidekiq-interrupt-running-jobs-deadset' into 'master'
Put cancelled job in DeadSet See merge request gitlab-org/gitlab-ce!32070
This commit is contained in:
commit
d57d8ddb72
|
@ -8,8 +8,12 @@ module Gitlab
|
|||
yield
|
||||
end
|
||||
rescue Gitlab::SidekiqMonitor::CancelledError
|
||||
# push job to DeadSet
|
||||
payload = ::Sidekiq.dump_json(job)
|
||||
::Sidekiq::DeadSet.new.kill(payload, notify_failure: false)
|
||||
|
||||
# ignore retries
|
||||
raise Sidekiq::JobRetry::Skip
|
||||
raise ::Sidekiq::JobRetry::Skip
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -33,9 +33,17 @@ describe Gitlab::SidekiqMiddleware::Monitor do
|
|||
end
|
||||
end
|
||||
|
||||
it 'does skip this job' do
|
||||
it 'skips the job' do
|
||||
expect { subject }.to raise_error(Sidekiq::JobRetry::Skip)
|
||||
end
|
||||
|
||||
it 'puts job in DeadSet' do
|
||||
::Sidekiq::DeadSet.new.clear
|
||||
|
||||
expect do
|
||||
subject rescue Sidekiq::JobRetry::Skip
|
||||
end.to change { ::Sidekiq::DeadSet.new.size }.by(1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue