txamqp pythonライブラリを使用してAMQPブローカー(RabbitMQ)に接続していますが、次のコールバックを持つコンシューマーがあります。
@defer.inlineCallbacks
def message_callback(self, message, queue, chan):
"""This callback is a queue listener
it is called whenever a message was consumed from queue
c.f. test_amqp.ConsumeTestCase for use cases
"""
# The callback should be redefined here to keep getting further messages from queue
queue.get().addCallback(self.message_callback, queue, chan).addErrback(self.message_errback)
print " [x] Received a valid message: [%r]" % (message.content.body,)
yield self.smpp.sendDataRequest(SubmitSmPDU)
# ACK the message in queue, this will remove it from the queue
chan.basic_ack(message.delivery_tag)
メッセージを「確認」すると、キューから(確認のために)削除されますが、メッセージが「確認」されていない場合はどうなりますか?メッセージを延期して後で再度コールバックし、再試行にかかった時間を追跡できる「再試行」メカニズムを取得する必要があります。
また、キューからメッセージを一覧表示/削除するにはどうすればよいですか?