Задать вопрос
@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()
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Отправить в очередь специальное сообщение, в ответ на которое функция callback отменит подписку или закроет канал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
03 янв. 2025, в 10:40
2000 руб./за проект
03 янв. 2025, в 10:37
500000 руб./за проект
03 янв. 2025, в 10:35
45000 руб./за проект