hrms-api-recruit/Services/ImportJobQueue.cs
Suphonchai Phoonsawat cc251f7129 fix
2026-05-12 16:32:46 +07:00

22 lines
673 B
C#

using System.Threading.Channels;
namespace BMA.EHR.Recruit.Services;
public class ImportJobQueue
{
private readonly Channel<ImportJobInfo> _channel = Channel.CreateBounded<ImportJobInfo>(new BoundedChannelOptions(100)
{
FullMode = BoundedChannelFullMode.Wait,
SingleReader = true
});
public async ValueTask EnqueueAsync(ImportJobInfo job, CancellationToken cancellationToken = default)
{
await _channel.Writer.WriteAsync(job, cancellationToken);
}
public async ValueTask<ImportJobInfo> DequeueAsync(CancellationToken cancellationToken)
{
return await _channel.Reader.ReadAsync(cancellationToken);
}
}