class Redis::Client
def call_pipeline(pipeline)
def call_pipeline(pipeline) commands = pipeline.commands return [] if commands.empty? with_reconnect pipeline.with_reconnect? do begin pipeline.finish(call_pipelined(commands)).tap do self.db = pipeline.db if pipeline.db end rescue ConnectionError => e return nil if pipeline.shutdown? # Assume the pipeline was sent in one piece, but execution of # SHUTDOWN caused none of the replies for commands that were executed # prior to it from coming back around. raise e end end end