Quartz. NET - Сценарии

Page / - Изменено Alexandr Fokin в 2024/04/22 12:09

Сценарии

Изменено Alexandr Fokin

в 2024/04/22 12:09

Оглавление

Запустить задачу сейчас	public async Task TryRunNowWorkerAsync( string name, CancellationToken cancellationToken ) { var jobKey = /* .. */; // Проверка кол-ва сузествующих триггеров, // если их больше определенного кол-ва, // то нет смысла создавать еще один триггер-запуска. { var triggers = await scheduler.GetTriggersOfJob(jobKey, cancellationToken); if (triggers.Count > n) { return; } } // Создает триггер одноразового запуска. await scheduler.TriggerJob(jobKey, cancellationToken); }	При InMemory хранилище внутри используются блокировки. Поэтому при высокой интенсивности лучше сделать отдельный поток (Task), который будут накапливать заявки и периодически запускаться. При этом так, чтобы запись заявки была быстрой и неблокирующей.