Skip to content

Can't make it work #9

@md-farhan-memon

Description

@md-farhan-memon

Hi,
I am trying this in my rails project with following details

Sidekiq: v6.5.8
Ruby: v3.1.3
Rails: v7.0.4.3

Sidekiq Config

Sidekiq.configure_server do |config|
    config.redis = REDIS_POOL
    config.error_handlers << Proc.new do |ex, ctx_hash|
      Rails.logger.error('Captured in sidekiq error block')
      Airbrake.notify(ex, ctx_hash)
    end
    SidekiqScheduler::Scheduler.enabled = false

    # ====================== Queue Pause Config =============================
    # https://github.com/projectivetech/sidekiq-queue-pause
    # ====================== Queue Pause Config =============================

    config[:fetch] = Sidekiq::QueuePause::PausingFetch.new(config)

    # Optionally, you may set some unique key identifying the
    # Sidekiq process you want to control. This (server) process will
    # only be paused/unpaused when the function gets called with
    # the corresponding key. See below.
    # Sidekiq::QueuePause.process_key = 'foo'

    # You may also pass in a Proc which is then evaluated when needed.
    # Sidekiq::QueuePause.process_key { SomeClass.some_method }

    # Optionally, you may configure the sleep period (in seconds) after the
    # queue lock has been checked. By default, the fetcher will sleep for
    # Sidekiq::Fetcher::TIMEOUT, i.e. the same time that the redis fetch
    # command may take.
    # Sidekiq::QueuePause.retry_after = 5
  end

Other Sidekiq related dependencies

gem 'sidekiq-limit_fetch', '4.4.1'
gem "sidekiq-bulk"
gem 'sidekiq-scheduler'
gem 'sidekiq-failures'

Here's what I am doing

irb(main):008:0> Sidekiq::QueuePause.paused?(:api_cloudwatch_dashboard_queue)
=> false
irb(main):009:0> Sidekiq::QueuePause.pause(:api_cloudwatch_dashboard_queue)
=> "OK"
irb(main):010:0> Sidekiq::QueuePause.paused?(:api_cloudwatch_dashboard_queue)
=> true

I can see it in UI too...

image

However, when pushing a new task using .perform_async it is getting immediately processed instead of holding back due to pause.

What am I missing here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions