mirror of
https://github.com/discourse/discourse.git
synced 2025-06-01 17:40:43 +08:00
FIX: Add multisite support to Sidekiq::Pausable. (#6960)
Having a global Sidekiq pause switch is problematic because a site in the cluster can pause Sidekiq for the entire cluster.
This commit is contained in:
@ -1,36 +0,0 @@
|
||||
require 'rails_helper'
|
||||
require_dependency 'sidekiq/pausable'
|
||||
|
||||
describe Sidekiq do
|
||||
after do
|
||||
Sidekiq.unpause!
|
||||
end
|
||||
|
||||
it "can pause and unpause" do
|
||||
Sidekiq.pause!
|
||||
expect(Sidekiq.paused?).to eq(true)
|
||||
Sidekiq.unpause!
|
||||
expect(Sidekiq.paused?).to eq(false)
|
||||
end
|
||||
|
||||
it "can still run heartbeats when paused" do
|
||||
Sidekiq.pause!
|
||||
|
||||
freeze_time 1.week.from_now
|
||||
|
||||
jobs = Sidekiq::ScheduledSet.new
|
||||
|
||||
Sidekiq::Testing.disable! do
|
||||
jobs.clear
|
||||
|
||||
middleware = Sidekiq::Pausable.new
|
||||
middleware.call(Jobs::RunHeartbeat.new, { "args" => [{}] }, "critical") do
|
||||
"done"
|
||||
end
|
||||
|
||||
jobs = Sidekiq::ScheduledSet.new
|
||||
expect(jobs.size).to eq(0)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user