Изменения документа Сценарии
Редактировал(а) Alexandr Fokin 2024/04/22 12:09
От версии 1.1
отредактировано Alexandr Fokin
на 2023/07/31 11:26
на 2023/07/31 11:26
Изменить комментарий:
К данной версии нет комментариев
К версии 1.3
отредактировано Alexandr Fokin
на 2024/04/22 12:09
на 2024/04/22 12:09
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,4 +1,4 @@ 1 -|(% style="width:147px" %)Запустить задачу сейчас|(% style="width: 1290px" %){{code language="c#"}}public async Task TryRunNowWorkerAsync(1 +|(% style="width:147px" %)Запустить задачу сейчас|(% style="width:684px" %){{code language="c#"}}public async Task TryRunNowWorkerAsync( 2 2 string name, 3 3 CancellationToken cancellationToken 4 4 ) ... ... @@ -12,14 +12,14 @@ 12 12 var triggers = await scheduler.GetTriggersOfJob(jobKey, cancellationToken); 13 13 if (triggers.Count > n) 14 14 { 15 - return true;15 + return; 16 16 } 17 17 } 18 18 19 19 // Создает триггер одноразового запуска. 20 20 await scheduler.TriggerJob(jobKey, cancellationToken); 21 - returntrue;22 - }{{/code}}23 - |(%style="width:147px"%)|(%style="width:1290px"%)24 -|(% style="width:147px" %) |(% style="width: 1290px" %)25 - 21 +}{{/code}}|(% style="width:658px" %)При InMemory хранилище внутри используются блокировки. 22 +Поэтому при высокой интенсивности лучше сделать отдельный поток (Task), который будут накапливать заявки и периодически запускаться. 23 +При этом так, чтобы запись заявки была быстрой и неблокирующей. 24 +|(% style="width:147px" %) |(% style="width:684px" %) |(% style="width:658px" %) 25 +|(% style="width:147px" %) |(% style="width:684px" %) |(% style="width:658px" %)