class Redis::Distributed

def blmove(source, destination, where_source, where_destination, timeout: 0)

to another list and return it, or block until one is available.
Remove the first/last element in a list and append/prepend it
def blmove(source, destination, where_source, where_destination, timeout: 0)
  ensure_same_node(:lmove, [source, destination]) do |node|
    node.blmove(source, destination, where_source, where_destination, timeout: timeout)
  end
end