ack_message.py 703 B

123456789101112131415
  1. from application.common.log import Local
  2. from mq_http_sdk.mq_exception import MQExceptionBase
  3. def ack_message(log_type, crawler, recv_msgs, consumer):
  4. # msg.next_consume_time前若不确认消息消费成功,则消息会被重复消费。
  5. # 消息句柄有时间戳,同一条消息每次消费拿到的都不一样。
  6. try:
  7. receipt_handle_list = [msg.receipt_handle for msg in recv_msgs]
  8. consumer.ack_message(receipt_handle_list)
  9. Local.logger(log_type, crawler).info(
  10. f"Ack {len(receipt_handle_list)} Message Succeed.\n"
  11. )
  12. except MQExceptionBase as err:
  13. Local.logger(log_type, crawler).info(f"Ack Message Fail! Exception:{err}\n")