/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/Scheduling/EndpointScheduleMessageProvider.cs
38 строк
1 KB
Chris Patterson
AddSqlMessageScheduler() method created so that scheduled messages can be canceled
17 май 2024, 17:42
17 май 2024, 17:42
40775e9
Код
Авторство
О чём код?
namespace MassTransit.Scheduling { using System; using System.Threading; using System.Threading.Tasks; public class EndpointScheduleMessageProvider : BaseScheduleMessageProvider { readonly Func<Task<ISendEndpoint>> _schedulerEndpoint; public EndpointScheduleMessageProvider(Func<Task<ISendEndpoint>> schedulerEndpoint) { _schedulerEndpoint = schedulerEndpoint; } protected override async Task ScheduleSend(ScheduleMessage message, IPipe<SendContext<ScheduleMessage>> pipe, CancellationToken cancellationToken) { var endpoint = await _schedulerEndpoint().ConfigureAwait(false); await endpoint.Send(message, pipe, cancellationToken).ConfigureAwait(false); } protected override async Task CancelScheduledSend(Guid tokenId, Uri destinationAddress, CancellationToken cancellationToken) { var endpoint = await _schedulerEndpoint().ConfigureAwait(false); await endpoint.Send<CancelScheduledMessage>(new { InVar.CorrelationId, InVar.Timestamp, TokenId = tokenId }, cancellationToken) .ConfigureAwait(false); } } }