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