直接使用 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'}

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


universe_king
3.4k 声望677 粉丝