此问题适用于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