code: def handle_request(request):
      
      connector = request['connector']
      hostname = connector['host']
      port = connector['port']
      virtual_host = connector['virtualHost']
      queue = connector['queue']
      user = connector['user']
      password = connector['password']
      # Establish connection with RabbitMQ server
      logging.info('Connect : [HOST=' + hostname + ', QUEUE=' + queue + ']')
      done = False
      attempts = 0
      while not done and attempts < 100:
          try:
              credentials = pika.PlainCredentials(user, password)
              con = pika.BlockingConnection(pika.ConnectionParameters(
                  host=hostname,
                  port=port,
                  virtual_host=virtual_host,
                  credentials=credentials
              ))
              channel = con.channel()
              channel.queue_declare(queue=queue, durable=True)
              req = request['request']
              logging.info('Run : [EXPERIMENT=' + req['experiment_id'] + ', RUN=' + req['run_id'] + ']')
              channel.basic_publish(
                  exchange='',
                  routing_key=queue,
                  body=json.dumps(req),
                  properties=pika.BasicProperties(
                      delivery_mode = 2, # make message persistent
                  )
              )
              con.close()
              done = True
          except pika.exceptions.ConnectionClosed as ex:
              attempts += 1
              logging.exception(ex)
docs: Convert a model run request from the buffer into a message in a RabbitMQ
      queue.
  
      Parameters
      ----------
      request : dict
          Buffer entry containing 'connector' and 'request' field