2016-08-02 10 views
1

Я работаю над WebAPI, который планирует события и встречи. Для этого я использую пакет chroniton.NetCore. Я могу установить расписание, используя выражение cron или другие функции, но есть ли способ установить дату остановки или дату окончания расписания?Планирование задания с фиксированной датой окончания в asp.NET с использованием chroniton.NETCore

 var schedule = new EveryXTimeSchedule(TimeSpan.FromSeconds(5)); 

     var scheduledJob = singularity.ScheduleParameterizedJob(
      schedule, job, "Hello World", true); //starts immediately 

Я хочу, чтобы остановить эту работу на следующий день в полночь без использования Task.Delay (поскольку апи является лицом без гражданства) Спасибо.

ответ

2

Текущая версия chroniton.NETCore не поддерживает такое поведение из коробки. Вы можете реализовать свою собственную логику на основе факта, что у вас есть информация о временном диапазоне.

  • ScheduleParameterizedJob() возвращает IScheduledJob, который может быть использован для отмены задания, если это необходимо. Вы можете создать дополнительные RunOnceSchedule закрыть свою первую работу на следующий день в полночь, используя

    Singularity.Instance.StopScheduledJob(IScheduledJob job);

  • вы можете наследовать от EveryXTimeSchedule и переопределить NextScheduledTime метод для возврата Chroniton.Constants.Never если «следующего запланированного времени» является> = следующий день в полночь;

Best way to create a Midnight DateTime in C# :

DateTime nextDayAtMidnight = DateTime.Today.AddDays(1) 

 Смежные вопросы

  • Нет связанных вопросов^_^