ack_message.py 788 B

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