Вопрос о расписании

У меня следующая ситуация: в моем распоряжении несколько сотен ресурсов (ПК/мобильные/умные устройства). Я хотел бы сделать из них сетевую лабораторию, где пользователи могут запрашивать доступ к некоторым или всем этим устройствам, начиная с определенного времени. Я пишу планировщик для этой цели. В запрошенное время я хочу сообщить пользователю, что запрос был удовлетворен, а затем автоматически выполнить некоторые тесты на устройствах. Мне просто интересно, что было бы эффективным способом написать планировщик. На данный момент я подумал о следующем:

  1. Всякий раз, когда приходит запрос, я помещаю его в таблицу базы данных SQL. Я пишу программу, которая постоянно проверяет эту таблицу на наличие заданий, которые должны быть выполнены, и запускаю их. Это будет периодически (скажем, каждые 5 минут), поэтому я не могу запланировать немедленные тесты.

  2. Сохраните объект задания для каждого задания и прикрепите таймер, который срабатывает в указанное время (кажется, наименее масштабируемым).

  3. Гибрид (1) и (2). Я создаю объекты задания с таймерами, запрашивая базу данных с большим интервалом (скажем, 30 минут). В запросе я получаю все задания, которые должны быть выполнены в ближайшие 30 минут или около того.

Есть ли лучший/более чистый способ сделать это?

Большое спасибо за ответы заранее!


person Andy    schedule 11.08.2010    source источник


Ответы (1)


Пробовали ли вы Quartz.net... Я довольно долго использовал вкус Quartz java, и я впечатлен тем, что он делает для меня.

person user10398    schedule 13.08.2010
comment
Ух ты! Это выглядит потрясающе. Большое спасибо пользователю 10398! - person Andy; 18.08.2010