class

JoobQ::RedisPipeline

Inherits Reference < Object

Redis pipeline operations and performance tracking

Constructors

Class methods

pipeline_stats
Source
reset_pipeline_stats
Source

Instance methods

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

Legacy closures execute independently: do not hold an unused connection around them (a capacity-one pool would deadlock on their nested checkout).

Source
cleanup_jobs_batch(job_jsons : Array(String), queue_name : String) : Nil

Batch job cleanup for high performance

Source
clear_queues_batch(queue_names : Array(String)) : Nil

Optimized method to clear multiple queues in a single pipeline

Source
execute_batch(operations : Array(Operation), max_batch_size : Int32 = 100) : Array(Redis::RedisValue)

Every operation uses the same checked-out connection. Errors propagate: a failed pipeline can have a partially applied/unknown outcome.

Source
execute_read_operations_batch(operations : Array( -> Redis::RedisValue)) : Array(Redis::RedisValue)

DEPRECATED Use execute_batch with operations that accept Redis::PipelineApi

Source
owner_id

Matches the owning store's id so batch cleanup targets this process's own processing list.

Source
owner_id=(owner_id : String)

Matches the owning store's id so batch cleanup targets this process's own processing list.

Source
queue_sizes_batch(queue_names : Array(String)) : Hash(String, Int64)

Optimized batch queue sizes to reduce connection overhead

Source
set_sizes_batch(set_names : Array(String)) : Hash(String, Int64)

Optimized batch set sizes to reduce connection overhead

Source
track_pipeline_operation(commands_count : Int32, success : Bool) : Nil
Source

Nested types