register_callback 增加的 func 承受两个参数
from kombu.transport.pyamqp import Messagedef callback(body, message: Message): logger.debug(type(body)) logger.debug(message) logger.debug(message.body) message.ack()
register_callback 增加的 func 承受一个参数
from kombu.transport.pyamqp import Messagedef callback(message: Message): logger.debug(type(body)) logger.debug(message) logger.debug(message.body) message.ack()
相干的代码可见:
kombu/messaging.py
def _receive_callback(self, message): accept = self.accept on_m, channel, decoded = self.on_message, self.channel, None try: m2p = getattr(channel, 'message_to_python', None) if m2p: message = m2p(message) if accept is not None: message.accept = accept if message.errors: return message._reraise_error(self.on_decode_error) decoded = None if on_m else message.decode() except Exception as exc: if not self.on_decode_error: raise self.on_decode_error(message, exc) else: return on_m(message) if on_m else self.receive(decoded, message)