2017-05-19 1 views
1

iddle 채널에 대한 시간 제한을 설정하는 방법을 이해하는 데 문제가 있습니다. 나는이 대답을 찾을 :Python Pika가 iddle에서 채널 연결을 끊습니다.

Stop channel.basic_consume if the connection is idle/Not consuming from long time

을하지만 변수 timer_id 내 ON_MESSAGE 메서드 내 범위에서 가져옵니다.

주어진 시간에 메시지가 대기열에 도착하지 않은 경우 채널 연결을 끊는 방법이 있습니까?

도움을 주셔서 감사합니다.

답변

0

도와 드리겠습니다. channel.consume() 메서드를 사용하는 경우, (method, properties, body)의 반복자 튜플을 반환하고 큐가 비어 있고 시간 제한에 도달하면 (None, None, None)을 반환합니다. 튜플. None과 bam을 확인하십시오!

for method, prop, body in channel.consume(queue='Q_test_timeout', 
              no_ack=True, 
              exclusive=True, 
              inactivity_timeout=3): 
또한

Docs

+0

는, 제한 시간에 도달하면, 간단한 없음가 반환되지 않기 때문에 시간 제한 예외를 잡기 위해 try/except 블록 내부에 그 발전기를 포장하고 참조 : 당신은 당신의 닫는 방법 플러스 단절이 변수 assignement가 실패합니다. –

관련 문제