class JoobQ::RedisMetrics

Overview

Redis metrics collection and statistics

Defined in:

joobq/redis_metrics.cr

Constant Summary

DEAD_LETTER = "joobq:dead_letter"
DELAYED_SET = "joobq:delayed_jobs"
PROCESSING_QUEUE = "joobq:processing"

Constructors

Instance Method Summary

Constructor Detail

def self.new(redis : Redis::PooledClient) #

[View source]

Instance Method Detail

def collect_statistics_batch : Hash(String, Int64) #

Optimized connection reuse for statistics collection


[View source]
def get_all_queue_metrics : Hash(String, QueueMetrics) #

Get metrics for all configured queues using pipelining


[View source]
def get_multiple_state_counts(states : Array(String)) : Hash(String, Int32) #

Optimized method to get job counts for multiple states at once


[View source]
def get_processing_jobs_count : Int32 #

Optimized method to get processing jobs count using Lua script


[View source]
def get_queue_metrics(queue_name : String) : QueueMetrics #

Get metrics for a single queue


[View source]
def get_queue_metrics_pipelined(queue_names : Array(String)) : Hash(String, QueueMetrics) #

Get queue metrics for multiple queues using pipelining


[View source]
def get_retrying_jobs_count : Int32 #

Optimized retrying jobs count using Lua script for better performance


[View source]
def get_retrying_jobs_paginated(page : Int32, per_page : Int32) : Array(String) #

Optimized retrying jobs pagination using Lua script


[View source]