Как лучше всего указать время выполнения повторяющихся заданий или задач? - PullRequest
1 голос
/ 05 декабря 2008

Я ищу способ эффективного указания повторяющегося времени выполнения задания без необходимости записывать явное время выполнения в хранилище данных. Другими словами, вместо того, чтобы сказать «задание x затем выполняется в 13.00 вечера 11.12.08», а затем необходимо обновить время выполнения на следующей неделе после запуска задания, я хочу иметь возможность сказать «задание x выполняется в 13.00 каждый четверг. Мне нужно иметь возможность указывать диапазон повторений от нескольких минут до одного раза в месяц. Я думаю, чем короче период повторения, тем сложнее это становится. Есть идеи?

Примечание: я не ищу совет по планированию механизма . Я не могу использовать планировщик Windows, Cron или создать службу Windows (у меня нет выбора, кроме как использовать фоновый поток в ASP.NET).

Ответы [ 3 ]

3 голосов
/ 05 декабря 2008

Я видел, что для этого широко используются выражения cron, это может хорошо работать как формат внутреннего представления.

1 голос
/ 15 марта 2009

Я согласен с Камалем, что Cron, вероятно, самое простое решение для настройки планировщика. Он очень гибкий - вы можете настроить его так, чтобы он делал практически все (в пределах разумного).

Я использовал Quartz.NET для планирования в прошлом. Он предоставляет CronTrigger - см. Учебник. Вы можете создать поток в своем веб-приложении, которое запускает планировщик Quartz.

0 голосов
/ 20 декабря 2010

Я реализовал некоторые автоматические службы (службы Windows, написанные на c #), используя cron для управления расписанием. Шаблон мощный и гибкий. Мы можем создавать расписания в любое удобное для вас время, используя только выражение cron. Может быть, я ошибаюсь, но единственное расписание, которое, как мне кажется, не распространяется на cron, - это если мы хотим, чтобы последний день месяца был, но это никогда не было требованием для всех служб.

Я скопировал алгоритм cron из статьи в Интернете (с открытым исходным кодом Atif Aziz) и реализовал в своем служебном классе, прекрасно работая годами.

Подробности смотрите в моем блоге: алгоритм синтаксического анализатора расписаний CronTab

ура!

Roberto

...