事务性发件箱模式

This commit is contained in:
administrator committed 2025-03-28 22:27:12 +08:00
1 parent 8da853a351
commit f007572e7f
30 files changed
+978 -135

No files matched your search

@@ -0,0 +1,23 @@
// Copyright (c) HelloShop Corporation. All rights reserved.
// See the license file in the project root for more information.
using HelloShop.EventBus.Abstractions;
using Microsoft.EntityFrameworkCore.Storage;
namespace HelloShop.EventBus.Logging
{
public interface IDistributedEventLogService
{
Task<IEnumerable<DistributedEventLog>> RetrieveEventLogsPendingToPublishAsync(Guid transactionId, CancellationToken cancellationToken = default);
Task<IEnumerable<DistributedEventLog>> RetrieveEventLogsFailedToPublishAsync(CancellationToken cancellationToken = default);
Task SaveEventAsync(DistributedEvent @event, IDbContextTransaction transaction, CancellationToken cancellationToken = default);
Task MarkEventAsPublishedAsync(Guid eventId, CancellationToken cancellationToken = default);
Task MarkEventAsInProgressAsync(Guid eventId, CancellationToken cancellationToken = default);
Task MarkEventAsFailedAsync(Guid eventId, CancellationToken cancellationToken = default);
}
}