class Redis

def brpoplpush(source, destination, timeout)

until one is available.
Pop a value from a list, push it to another list and return it; or block
def brpoplpush(source, destination, timeout)
  synchronize do
    @client.call_without_timeout(:brpoplpush, source, destination, timeout)
  end
end