package cn.axzo.workflow.starter.handler.monitor;

import org.apache.rocketmq.common.admin.TopicOffset;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 广播死信队列监控的报告器， 默认仅仅是打印异常。
 * <p>
 * 可以用它来发生钉钉之类的。
 * <p>
 * <strong color=orange>注意：该接口目前不是为了消费死信队列中的消息的。</strong>后续必要时，再开放死信队列的消费扩展点
 *
 * @author wangli
 * @since 2024/6/14 17:04
 */
public interface BroadcastDLQReporter {
    Logger log = LoggerFactory.getLogger(BroadcastDLQReporter.class);

    default void process(TopicOffset v, String dlqName) {
        long dlqCount = v.getMaxOffset() - v.getMinOffset();
        log.error("found Broadcast MQ DLQ, count: {}", dlqCount);
    }
}
