Module: HireFire::Macro::Sidekiq

Extended by:
Deprecated::Sidekiq, Sidekiq
Included in:
Sidekiq
Defined in:
lib/hirefire/macro/sidekiq.rb

Instance Method Summary collapse

Methods included from Deprecated::Sidekiq

latency, queue

Instance Method Details

#job_queue_latency(*queues, **options) ⇒ Float

Calculates the maximum job queue latency using Sidekiq. If no queues are specified, it measures latency across all available queues.

Examples:

Calculate latency across all queues

HireFire::Macro::Sidekiq.job_queue_latency

Calculate latency for the “default” queue

HireFire::Macro::Sidekiq.job_queue_latency(:default)

Calculate maximum latency across “default” and “mailer” queues

HireFire::Macro::Sidekiq.job_queue_latency(:default, :mailer)

Calculate latency for the “default” queue, excluding scheduled jobs

HireFire::Macro::Sidekiq.job_queue_latency(:default, skip_scheduled: true)

Calculate latency for the “default” queue, excluding retries

HireFire::Macro::Sidekiq.job_queue_latency(:default, skip_retries: true)

Parameters:

  • queues (Array<String, Symbol>)

    (optional) Names of the queues for latency measurement. If not provided, latency is measured across all queues.

  • options (Hash)

    Options to control and filter the latency calculation.

Options Hash (**options):

  • :skip_retries (Boolean) — default: false

    If true, skips the RetrySet in latency calculation.

  • :skip_scheduled (Boolean) — default: false

    If true, skips the ScheduledSet in latency calculation.

Returns:

  • (Float)

    Maximum job queue latency in seconds.



31
32
33
# File 'lib/hirefire/macro/sidekiq.rb', line 31

def job_queue_latency(*queues, **options)
  JobQueueLatency.call(*queues, **options)
end

#job_queue_size(*queues, **options) ⇒ Integer

Calculates the total job queue size using Sidekiq. If no queues are specified, it measures size across all available queues.

Examples:

Calculate size across all queues

HireFire::Macro::Sidekiq.job_queue_size

Calculate size for the “default” queue

HireFire::Macro::Sidekiq.job_queue_size(:default)

Calculate size across “default” and “mailer” queues

HireFire::Macro::Sidekiq.job_queue_size(:default, :mailer)

Calculate size for the “default” queue, excluding scheduled jobs

HireFire::Macro::Sidekiq.job_queue_size(:default, skip_scheduled: true)

Calculate size for the “default” queue, excluding retries

HireFire::Macro::Sidekiq.job_queue_size(:default, skip_retries: true)

Calculate size for the “default” queue, excluding running jobs

HireFire::Macro::Sidekiq.job_queue_size(:default, skip_working: true)

Calculate size for the “default” queue using server-side aggregation

HireFire::Macro::Sidekiq.job_queue_size(:default, server: true)

Calculate size for the “default” queue, limiting counting of scheduled jobs to 100_000

HireFire::Macro::Sidekiq.job_queue_size(:default, max_scheduled: 100_000)

Parameters:

  • queues (Array<String, Symbol>)

    (optional) Names of the queues for size measurement. If not provided, size is measured across all queues.

  • options (Hash)

    Options to control and filter the count.

Options Hash (**options):

  • :server (Boolean) — default: false

    If true, counts jobs server-side using Lua scripting.

  • :skip_retries (Boolean) — default: false

    If true, skips counting jobs in retry queues.

  • :skip_scheduled (Boolean) — default: false

    If true, skips counting jobs in scheduled queues.

  • :skip_working (Boolean) — default: false

    If true, skips counting running jobs.

  • :max_scheduled (Integer, nil) — default: nil

    Max number of scheduled jobs to consider; nil for no limit.

Returns:

  • (Integer)

    Total job queue size.



63
64
65
# File 'lib/hirefire/macro/sidekiq.rb', line 63

def job_queue_size(*queues, **options)
  JobQueueSize.call(*queues, **options)
end