У меня следующая ситуация: в моем распоряжении несколько сотен ресурсов (ПК / мобильные телефоны / интеллектуальные устройства).Я хотел бы создать из них сетевую лабораторию, где пользователи могут запрашивать доступ к некоторым или всем этим устройствам, начиная с определенного времени.Я пишу планировщик для этой цели.В запрошенное время я хочу сообщить пользователю, что запрос был удовлетворен, а затем автоматически выполнить некоторые тесты на устройствах.Мне просто интересно, что было бы эффективным способом написать планировщик.На данный момент я подумал о следующем:
Всякий раз, когда приходит запрос, я помещаю его в таблицу базы данных SQL.Я пишу программу, чтобы постоянно проверять эту таблицу на наличие работ, которые должны быть выполнены, и запускать их.Это будет периодическим (скажем, каждые 5 минут), поэтому я не могу запланировать немедленные тесты.
Сохраняйте объект задания для каждого задания и прикрепляйте таймер, который срабатывает в указанное время (кажется, наименее масштабируемым).
Гибрид (1) и (2).Я создаю объекты заданий с помощью таймеров, опрашивая базу данных с большим интервалом (скажем, 30 минут).В запросе я получаю все задания, которые должны быть выполнены в ближайшие 30 минут или около того.
Есть ли лучший / более чистый способ сделать это?
Большое спасибо за ответы заранее!