Wydaje mi się, że im dłużej utrzymuję mój serwer rabbitmq, tym więcej mam kłopotów z niepotwierdzonymi wiadomościami. Chciałbym je im przypomnieć. W rzeczywistości wydaje się, że jest to polecenie amqp, ale dotyczy to tylko kanału, z którego korzysta twoje połączenie. I zbudował mały pika skrypt przynajmniej spróbować go, ale ja też czegoś brakuje lub nie można zrobić w ten sposób (jak o z rabbitmqctl?)Jak mogę odzyskać niepotwierdzone wiadomości AMQP z innych kanałów niż moje własne połączenie?
import pika
credentials = pika.PlainCredentials('***', '***')
parameters = pika.ConnectionParameters(host='localhost',port=5672,\
credentials=credentials, virtual_host='***')
def handle_delivery(body):
"""Called when we receive a message from RabbitMQ"""
print body
def on_connected(connection):
"""Called when we are fully connected to RabbitMQ"""
connection.channel(on_channel_open)
def on_channel_open(new_channel):
"""Called when our channel has opened"""
global channel
channel = new_channel
channel.basic_recover(callback=handle_delivery,requeue=True)
try:
connection = pika.SelectConnection(parameters=parameters,\
on_open_callback=on_connected)
# Loop so we can communicate with RabbitMQ
connection.ioloop.start()
except KeyboardInterrupt:
# Gracefully close the connection
connection.close()
# Loop until we're fully closed, will stop on its own
connection.ioloop.start()
Czy udało się rozwiązać ten problem? – 13hsoj
https://stackoverflow.com/questions/8296201/when-does-an-amqp-rabbitmq-channel-with-no-connections-die Odpowiedź na to pytanie jest potencjalnie potrzebna w zależności od tego, dlaczego inne kanały wciąż mają problemy niepakowane wiadomości. Kanały zombie. Nie dup, ponieważ ten temat dotyczy wiadomości w innych kanałach, a nie samych kanałów. –