| 1234567891011121314151617181920 |
- using System.Threading.Channels;
- namespace Admin.NET.Plugin.AiDOP.DataPlatform.Executors;
- /// <summary>
- /// 出站唤醒信号:入队后 Pulse,由 <see cref="MdpOutboxPushWorker"/> 立即推送;轮询 Job 仅作兜底。
- /// </summary>
- public sealed class MdpOutboxWakeSignal : ISingleton
- {
- private readonly Channel<byte> _channel = Channel.CreateBounded<byte>(new BoundedChannelOptions(1)
- {
- FullMode = BoundedChannelFullMode.DropOldest,
- SingleReader = true,
- SingleWriter = false
- });
- public void Pulse() => _channel.Writer.TryWrite(0);
- public ChannelReader<byte> Reader => _channel.Reader;
- }
|