code: def send(self, item, timeout=30):
          
          uid = str(uuid.uuid4().int & (1<<64)-1)
          msg = {'id': uid, 'msg': item}
          self.db.rpush(self.send_addr, json.dumps(msg))
          key, resp = self.db.blpop(self.recv_addr.format(id=uid), timeout=30)
          if resp:
              return json.loads(resp.decode())
          else:
              return None
docs: Arguments:
              item (dict): item to queue up.
              timeout (int): if no response in this many seconds, then give up.
  
          Returns:
              if timed out, then returns None.
              otherwise returns a `dict` corresponding to the response.