Скажем, у меня есть база данных с таблицей, каждая запись в этой таблице соответствует действию, которое должно быть выполнено.В этой таблице есть поле даты и времени, в котором хранится следующий момент, когда должно быть выполнено действие.
Эта таблица читается службой Windows, а действия хранятся в структуре данных.Каждые несколько минут служба читает таблицу, и новые действия объединяются в структуру данных, поэтому созданные в это время действия не пропускаются.
Каждое действие имеет определенный интервал повторения.Когда действие выполнено, поле datetime обновляется до следующего момента, когда оно должно выполняться на основе этого интервала.
Теперь вот где я задаюсь вопросом о правильном курсе действий: какой способ предпочтительнее на самом деленачать действие в указанное время?
Скажем, у меня есть действие, которое должно быть запущено в 09:00 в структуре данных, как мне обеспечить его запуск в 09:00?В данный момент я имею в виду проверку структуры данных каждую минуту, сравнение текущего времени со временем, запланированным для действия, и, если они совпадают, выполнение действия и обновление времени выполнения действия в соответствии с соответствующим интервалом.
Как структура данных, я склонен мыслить в очереди, поэтому у меня может быть следующая работа впереди, и мне нужно только проверить первую, но затем мне нужно переставлять очередь каждый раз, когда появляются новые действия.найденный.
Моя главная задача - хороший подход для проверки того, должно ли быть выполнено действие, и последует соответствующая структура данных.Количество действий в таблице будет очень низким, не более 25. У меня нет контроля над базой данных, поэтому все должно быть сделано программно на C # на случай, если вам интересно.Любые советы, опыт или советы?