Изменения документа Пакетная обработка заявок с асинхронностью (Async)
Редактировал(а) Alexandr Fokin 2023/01/23 23:00
<
>
отредактировано Alexandr Fokin
на 2020/07/14 12:06
на 2020/07/14 12:06
отредактировано Alexandr Fokin
на 2020/08/09 15:37
на 2020/08/09 15:37
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,7 +1,11 @@ 1 1 2 +Используемые инструменты 3 +1) Пакетная обработка 4 +2) LongPooling 5 + 2 2 1) От клиентов поступают заявки на некоторую обработку. 3 3 На основе заявки создаеться запись (State) в потокобезопасной коллекции. (В записи также содержиться CancalidationToken, позволяющий прервать await клиента) 4 -Запрос встате на ожидание обработки с await. 8 +Запрос встате на ожидание обработки с await. (LongPooling не разрываем соединение с клиентом) 5 5 6 6 2) Через некоторые промежутки времени запускается некоторый Worker, который берет группу заявок из потокобезопасной коллекции и начинает их обрабатывать. 7 7 По окончанию обработки Worker записывает результаты в соответсвущие State и вызывает CancalidationToken, чтобы разблокировать ожидающего клиента.