Module: Familia::Connection::PipelineCore
- Defined in:
- lib/familia/connection/pipelined_core.rb
Overview
Pipeline execution with configurable fallback behavior
Handles two pipeline scenarios based on connection handler capabilities:
- Normal pipeline when handler supports pipelines
- Individual command execution with configurable error/warn/silent modes
Class Method Summary collapse
-
.execute_pipeline(dbclient_proc, &block) {|Redis| ... } ⇒ MultiResult
Executes a pipeline with configurable fallback behavior.
Class Method Details
.execute_pipeline(dbclient_proc, &block) {|Redis| ... } ⇒ MultiResult
Executes a pipeline with configurable fallback behavior
Handles pipeline execution based on connection handler capabilities. When handler doesn't support pipelines, fallback behavior is controlled by Familia.pipelined_mode setting.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/familia/connection/pipelined_core.rb', line 42 def self.execute_pipeline(dbclient_proc, &block) # First, get the connection to populate the handler class connection = dbclient_proc.call handler_class = Fiber[:familia_connection_handler_class] # Check pipeline capability pipeline_capability = handler_class&.allows_pipelined if pipeline_capability == false OperationCore.handle_fallback(:pipeline, dbclient_proc, handler_class, &block) else # Normal pipeline flow (includes nil, true, and other values) execute_normal_pipeline(dbclient_proc, &block) end end |