/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Infrastructure/Jobs/DocumentJobQueue.cs
31 строка
873 B
IBS\NAfanasev
DocumentContext local functional
01 июл 2026, 15:30
01 июл 2026, 15:30
b4038c9
Код
Авторство
О чём код?
using System.Threading.Channels; using PdfEncoder.Application.Abstractions; namespace PdfEncoder.Infrastructure.Jobs; /// <summary> /// In-process очередь задач на базе Channel. /// </summary> public sealed class DocumentJobQueue : IDocumentJobQueue { private readonly Channel<DocumentJobWorkItem> _channel = Channel.CreateUnbounded<DocumentJobWorkItem>( new UnboundedChannelOptions { SingleReader = false, SingleWriter = false }); /// <inheritdoc /> public ValueTask EnqueueAsync( DocumentJobWorkItem workItem, CancellationToken ct) { return _channel.Writer.WriteAsync(workItem, ct); } /// <inheritdoc /> public async ValueTask<DocumentJobWorkItem> DequeueAsync(CancellationToken ct) { return await _channel.Reader.ReadAsync(ct); } }