class JoobQ::RedisPipeline

Overview

Redis pipeline operations and performance tracking

Defined in:

joobq/redis_pipeline.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

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

[View source]

Class Method Detail

def self.pipeline_stats : PipelineStats #

[View source]
def self.reset_pipeline_stats : Nil #

[View source]

Instance Method Detail

def batch_operations(operations : Array(Proc(Nil)), max_batch_size : Int32 = 10) : Nil #

Connection reuse optimization: Batch multiple single operations into pipelines This reduces connection overhead for operations that don't need to be immediate


[View source]
def cleanup_jobs_batch(job_jsons : Array(String), queue_name : String) : Nil #

Batch job cleanup for high performance


[View source]
def clear_queues_batch(queue_names : Array(String)) : Nil #

Optimized method to clear multiple queues in a single pipeline


[View source]
def execute_read_operations_batch(operations : Array( -> Redis::RedisValue)) : Array(Redis::RedisValue) #

Connection pooling optimization: Execute multiple read operations in a single pipeline This is ideal for operations that can tolerate slightly stale data


[View source]
def queue_sizes_batch(queue_names : Array(String)) : Hash(String, Int64) #

Optimized batch queue sizes to reduce connection overhead


[View source]
def set_sizes_batch(set_names : Array(String)) : Hash(String, Int64) #

Optimized batch set sizes to reduce connection overhead


[View source]
def track_pipeline_operation(commands_count : Int32, success : Bool) : Nil #

[View source]