using Dpz.Core.MessageQueue.Models;
namespace Dpz.Core.MessageQueue.Abstractions;
/// <summary>
/// Outbox 消息补发服务接口,负责将待重试的 Outbox 记录重新发布到消息队列。
/// </summary>
public interface IMessageOutboxRetryService
{
/// <summary>
/// 执行一轮 Outbox 补发,包含发布失败补发和消费失败重新入队。
/// </summary>
/// <param name="batchSize">本轮每类状态最多处理的消息数量。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>本轮补发的处理结果。</returns>
Task<MessageOutboxRetryResult> RetryAsync(
int batchSize,
CancellationToken cancellationToken = default
);
}
评论加载中...