Определение шагов корнишона для завершения очереди rabbit_mq - PullRequest
0 голосов
/ 17 октября 2019

Это сообщение приходит здесь

Я работаю над последовательными шагами для подключения и проверки ответа из очереди rabbit_mq

Работает шаг 'Сервер кролика'как и ожидалось, но я не уверен, что глобальная переменная канала является лучшим подходом для создания канала и удаления его на другом этапе. также я не уверен, что вызов подпроцесса для получения ip контейнера докера - лучший способ сделать это либо с

, с другой стороны, в то время как я вызываю on_message_callback для получения сообщения из очереди, 'context' - это гдея хочу сохранить данные ответов кролика, что-то вроде «context.variable»

Любая помощь с моими вопросами будет полезна

@step(u'The rabbit server "{server_name}"')   
def set_default_messages_server(context, server_name):  
     global channel  
     context.rabbit_server = server_name
     connection = pika.BlockingConnection(pika.ConnectionParameters(
     host=get_ip_from_docker_container(server_name)))                 
     channel = connection.channel()

def get_ip_from_docker_container(container_name):
    return subprocess.check_output('docker exec -it {} hostname -i'.format(container_name).split())

(в другом .py файле)

def on_message_callback(ch, method, properties, body):
   print " [x] Received %r" % (body,)
   print " [x] Done"
   context.rabbit.data = body

Ошибка on_message_callback: «контекст» не определен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...