SQS队列清除操作失败,但异常

时间:2017-05-22 15:15:43

标签: python amazon-ec2 boto amazon-sqs boto3

此问题适用于AWS服务和python boto API

我在队列上发送消息。最终,我需要管理删除或清除队列中的消息。

下面的代码,有时它不会给出异常,有时也会出现异常。想法是尝试清除队列中没有消息的情况,只是在没有中止我的程序的情况下安全地继续。

sqs = boto.sqs.connect_to_region(awsRegion)
sqsQueue =  sqs.lookup(sqsQueueName)
if sqsQueue != None:
    try:
        status=sqsQueue.purge()
        return status
    except ValueError as e:
        print e
        pass

else:
    print 'No messages in the Queue %s ' % sqsQueueName

即使purge命令返回异常,我如何确保安全继续。

我得到的错误如下:

  

回溯(最近一次调用最后一次):文件“C:....... \到a   script.py“,第143行,在purgeQueue中       status = sqsQueue.purge()文件“C:\ Python27 \ lib \ site-packages \ boto \ sqs \ queue.py”,第396行,清除       return self.connection.purge_queue(self)文件“C:\ Python27 \ lib \ site-packages \ boto \ sqs \ connection.py”,第124行,in   purge_queue       return self.get_status('PurgeQueue',None,queue.id)文件“C:\ Python27 \ lib \ site-packages \ boto \ connection.py”,第1227行,in   GET_STATUS       raise self.ResponseError(response.status,response.reason,body)boto.exception.SQSError:SQSError:403 Forbidden Sender AWS.SimpleQueueService.PurgeQueueInProgress每隔60分钟只允许对mcUplinkQueue进行一次PurgeQueue操作   seconds.e465d563-f71a-5f1b-9760-84feb0bd315b

0 个答案:

没有答案