26 lines
942 B
C#
26 lines
942 B
C#
|
|
using QYZH.InteractiveMagazine.Models.Dto.RabbitMQ;
|
|||
|
|
using QYZH.InteractiveMagazine.Models.Entity;
|
|||
|
|
|
|||
|
|
namespace QYZH.InteractiveMagazine.IService;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// MQ消息发布服务。
|
|||
|
|
/// </summary>
|
|||
|
|
public interface IMessagePublishService : IBaseService<MessageOutbox>
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 可靠发布消息,默认写入Outbox。
|
|||
|
|
/// </summary>
|
|||
|
|
Task<MessagePublishResult> PublishAsync<T>(MessagePublishInput<T> input, CancellationToken cancellationToken = default);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 批量可靠发布消息,默认写入Outbox。
|
|||
|
|
/// </summary>
|
|||
|
|
Task<MessagePublishResult> PublishBatchAsync<T>(IEnumerable<MessagePublishInput<T>> inputs, CancellationToken cancellationToken = default);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 直接发布消息,不写Outbox。
|
|||
|
|
/// </summary>
|
|||
|
|
Task<MessagePublishResult> PublishDirectAsync<T>(MessagePublishInput<T> input, CancellationToken cancellationToken = default);
|
|||
|
|
}
|