Получение и удаление сообщений из sqs с помощью boto3 - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь получить и удалить это сообщение по одному.Это мой код для справки.

def receive_delete(url , attr_names):
    global sqs
    response = sqs.receive_message(QueueUrl=url,
                               AttributeNames=attr_names,
                               MaxNumberOfMessages=10,
                               MessageAttributeNames=['All'])

    delete_msgs = []

    for messages in response['Messages']:

        delete_msgs.append({'Id':messages['MessageId'],
            'ReceiptHandle': messages['ReceiptHandle']})

        while len(delete_msgs) > 0:
            sqs.delete_message(QueueUrl=url , ReceiptHandle=['ReceiptHandle'])

и затем я вызываю эту функцию следующим образом ...

x = receive_delete("https://sqs.us-east-1.amazonaws.com/266638361021/tony.fifo", attr)

Проблема в том, что когда я запускаю этот метод, он застреваети когда я проверяю панель управления amazon sqs, она показывает, что удалено только одно сообщение.

Как я могу удалить сообщение одно за другим после его получения?

...