2015-12-31 15:33:35 -08:00
|
|
|
# frozen_string_literal: true
|
2022-03-03 12:50:03 -08:00
|
|
|
|
|
|
|
require_relative "helper"
|
|
|
|
require "sidekiq/manager"
|
2013-05-10 20:43:53 -07:00
|
|
|
|
2019-02-28 12:43:50 -08:00
|
|
|
describe Sidekiq::Manager do
|
|
|
|
before do
|
2022-03-03 12:50:03 -08:00
|
|
|
Sidekiq.redis { |c| c.flushdb }
|
2022-05-31 13:37:31 -07:00
|
|
|
Sidekiq.reset!
|
|
|
|
@config = Sidekiq
|
|
|
|
@config[:fetch] = Sidekiq::BasicFetch.new(@config)
|
2019-02-28 12:43:50 -08:00
|
|
|
end
|
2014-11-18 10:50:42 -08:00
|
|
|
|
2022-05-31 13:37:31 -07:00
|
|
|
def new_manager
|
|
|
|
Sidekiq::Manager.new(@config)
|
2019-02-28 12:43:50 -08:00
|
|
|
end
|
2013-05-10 20:43:53 -07:00
|
|
|
|
2022-03-03 12:50:03 -08:00
|
|
|
it "creates N processor instances" do
|
2022-05-31 13:37:31 -07:00
|
|
|
mgr = new_manager
|
|
|
|
assert_equal @config[:concurrency], mgr.workers.size
|
2019-02-28 12:43:50 -08:00
|
|
|
end
|
2013-05-10 20:43:53 -07:00
|
|
|
|
2022-03-03 12:50:03 -08:00
|
|
|
it "shuts down the system" do
|
2022-05-31 13:37:31 -07:00
|
|
|
mgr = new_manager
|
2019-02-28 12:43:50 -08:00
|
|
|
mgr.stop(::Process.clock_gettime(::Process::CLOCK_MONOTONIC))
|
|
|
|
end
|
2015-08-12 10:16:06 -07:00
|
|
|
|
2022-03-03 12:50:03 -08:00
|
|
|
it "throws away dead processors" do
|
2022-05-31 13:37:31 -07:00
|
|
|
mgr = new_manager
|
2019-02-28 12:43:50 -08:00
|
|
|
init_size = mgr.workers.size
|
|
|
|
processor = mgr.workers.first
|
|
|
|
begin
|
2022-05-31 13:37:31 -07:00
|
|
|
mgr.processor_result(processor, "ignored")
|
2019-02-28 12:43:50 -08:00
|
|
|
|
|
|
|
assert_equal init_size, mgr.workers.size
|
|
|
|
refute mgr.workers.include?(processor)
|
|
|
|
ensure
|
2022-05-31 13:37:31 -07:00
|
|
|
mgr.quiet
|
2013-05-10 20:43:53 -07:00
|
|
|
end
|
2019-02-28 12:43:50 -08:00
|
|
|
end
|
2013-05-10 20:43:53 -07:00
|
|
|
end
|