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)

0 ответов

Другие вопросы по тегам