Mam serwer rabbitmq i konsument amqp (python) za pomocą kombu.
Mam zainstalowaną aplikację w systemie, który ma zaporę, która zamyka nieaktywne połączenia po 1 godzinie.
To mój amqp_consumer.py:RabbitMQ heartbeat vs zdarzenia drenowania połączenia timeout
try:
# connections
with Connection(self.broker_url, ssl=_ssl, heartbeat=self.heartbeat) as conn:
chan = conn.channel()
# more stuff here
with conn.Consumer(queue, callbacks = [messageHandler], channel = chan):
# Process messages and handle events on all channels
while True:
conn.drain_events()
except Exception as e:
# do stuff
co chcę jest, że jeśli zapora zamknął połączenie, a następnie chcę ponownie. powinienem użyć argumentu pulsu lub powinienem przekazać argument timeout (z 3600 s) do funkcji drain_events()
?
Jakie są różnice między obiema opcjami? (wydaje się robić to samo).
Dzięki.