Sha256: 6cc80ed16fd1eab75e7a3319a2159c329201fca40c5e62d1fba9bf13ad9c561f

Contents?: true

Size: 855 Bytes

Versions: 14

Compression:

Stored size: 855 Bytes

Contents

RSpec.describe Sidekiq::LimitFetch::Global::Monitor do
  let(:monitor) { described_class.start! ttl, timeout }
  let(:ttl) { 1 }
  let(:queue) { Sidekiq::Queue[name] }
  let(:name) { 'default' }

  before { monitor }
  after { monitor.kill }

  context 'old locks' do
    let(:timeout) { 0.5 }

    it 'should remove invalidated old locks' do
      2.times { queue.acquire }
      sleep 2*ttl
      expect(queue.probed).to eq 2

      allow(described_class).to receive(:update_heartbeat)
      sleep 2*ttl
      expect(queue.probed).to eq 0
    end

    it 'should remove invalid locks' do
      2.times { queue.acquire }
      allow(described_class).to receive(:update_heartbeat)
      Sidekiq.redis do |it|
        it.del Sidekiq::LimitFetch::Global::Monitor::PROCESS_SET
      end
      sleep 2*ttl
      expect(queue.probed).to eq 0
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
sidekiq-limit_fetch-4.3.2 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-4.3.1 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-4.3.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-4.2.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-4.1.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-4.0.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
rcgt-sidekiq-limit_fetch-3.4.1 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.4.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.3.1 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.3.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.2.1 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.1.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.0.1 spec/sidekiq/limit_fetch/global/monitor_spec.rb
sidekiq-limit_fetch-3.0.0 spec/sidekiq/limit_fetch/global/monitor_spec.rb