Как добавить время ожидания для метода start_consuming () в библиотеке pika - PullRequest
0 голосов
/ 12 июля 2019

У меня есть BlockingConnection, и я следую примерам документации pika. Но во всех них приведен пример кода для запуска сообщений:

connection = pika.BlockingConnection()
channel = connection.channel()
channel.basic_consume('test', on_message)
try:
    channel.start_consuming()
except KeyboardInterrupt:
    channel.stop_consuming()
connection.close()

(с более или менее подробной информацией).

Мне нужно написать много скриптов, и я хочу запускать их один за другим (в целях тестирования / исследования). Но приведенный выше код требует, чтобы я добавил ^ C в каждом из них.

Я пытаюсь добавить несколько тайм-аутов , описанных в документации , но мне не повезло. Например, если я найду параметр для set, если клиент не потребляет никаких сообщений в течение последних X секунд, тогда скрипт завершит работу. Это возможно в pika lib? или я должен изменить подход?

1 Ответ

1 голос
/ 12 июля 2019

Не используйте start_consuming, если вы не хотите, чтобы ваш код блокировался.Либо используйте SelectConnection или этот метод , который использует consume.Вы можете добавить время ожидания для параметров, переданных в consume.


ПРИМЕЧАНИЕ: команда RabbitMQ контролирует список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.

...