stompest не отправляет подтверждение до выхода интерпретатора Python
У меня есть очередь rabbitmq, запущенная на его собственном сервере.
я могу сделать sudo rabbitmqctl list_queues
на этом сервере до количества сообщений в очереди.
На другом сервере я получаю 10 кадров и подтверждаю их. Затем я проверяю количество сообщений в очереди, и число не изменилось.
Затем я закрываю интерпретатор python и проверяю количество сообщений на сервере очереди, и это число уменьшилось на ожидаемое количество (10). Я могу повторить этот процесс много раз, и происходит то же самое поведение.
Если это в соответствии с дизайном, как я могу сделать так, чтобы подтверждение произошло немедленно? Я подумал, может быть, в методе del клиентского класса есть странное поведение, но нет.
Есть ли какое-то недокументированное волшебство?
Мой код "взлома":
client = Stomp(StompConfig(uri=settings.QUEUE_SERVER))
client.connect()
client.subscribe(
settings.INBOUND_QUEUE_NAME,
{StompSpec.ACK_HEADER: StompSpec.ACK_CLIENT_INDIVIDUAL}
)
for each in range(10):
frame = self.client.receiveFrame()
self.client.ack(frame)