FEATURE: add APIS for unpausing all sites

This adjusts 53d592ad by @tgxworld

- Adds Sidekiq.upause_all! to unpause all sites
- Adds Sidekiq.paused_dbs to list dbs that are currently paused
- Handles some edge cases where unpause thread could extend expiry on
sites that were unpaused from a different process
- Ensures tests always terminates background thread used for pause
keepalive
This commit is contained in:
Sam
2019-02-14 13:33:58 +11:00
parent 37666c3d18
commit 74d2d4f658
2 changed files with 57 additions and 10 deletions

View File

@@ -2,9 +2,6 @@ require 'rails_helper'
require_dependency 'sidekiq/pausable'
RSpec.describe "Pausing/Unpausing Sidekiq", type: :multisite do
after do
$redis.flushall
end
describe '#pause!, #unpause! and #paused?' do
it "can pause and unpause" do
@@ -23,13 +20,21 @@ RSpec.describe "Pausing/Unpausing Sidekiq", type: :multisite do
Sidekiq.pause!
expect(Sidekiq.paused?).to eq(true)
end
expect(Sidekiq.paused_dbs).to eq(["second"])
Sidekiq.unpause_all!
RailsMultisite::ConnectionManagement.each_connection do
expect(Sidekiq.paused?).to eq(false)
end
end
end
end
RSpec.describe Sidekiq::Pausable do
after do
$redis.flushall
Sidekiq.unpause_all!
end
it "can still run heartbeats when paused" do