Задать вопрос
@kondratev-ad

Как остановить thread подписчика на Rabbit?

Запускаю подписчика Rabbit в thread. Как его можно остановить из основного процесса?
def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

def main():
    connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
    channel = connection.channel()
    channel.queue_declare(queue='hello')
    channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
    
    thread = threading.Thread(
            target=channel.start_consuming,
        )
    thread.start()

    while True:
        msg = input('enter msg:')
        if msg == 'stop':
            # how stop consumer Rabbit
            print('Thread is stopped')
main()
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Отправить в очередь специальное сообщение, в ответ на которое функция callback отменит подписку или закроет канал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы