kombu 如何判断一个 message 是否 acknowledged/requeued/rejected

直接使用 message 的 acknowledged 属性就好了

if not message.acknowledged:
    message.ack()

当我们使用 acknowledged 的时候,其实干的是下面的事情:

kombu/message.py

@property
def acknowledged(self):
    """Set to true if the message has been acknowledged."""
    return self._state in ACK_STATES

ACK_STATES 是什么呢?

kombu/message.py

ACK_STATES = {'ACK', 'REJECTED', 'REQUEUED'}

可以看到,已经有三个状态了哦

你可能感兴趣的:(kombu 如何判断一个 message 是否 acknowledged/requeued/rejected)