Необходимо проводить определенные действия по расписанию, абстрактный пример:
Нет, этого совершенно недостаточно. Windows не дает никаких гарантий, что ваш таймер и правда будет вызываться каждую минуту. С такими сравнениями вы запросто
пропустите нужное время или отработаете два раза.
в понедельник в 12:00 взять файлы из папки
во вторник в 13:39 создать папку с файлами
в третью пятницу в 7:03 посчитать количество файлов
Целесообразно ли будет для этого использовать timer с Interval в минуту и в его Tick проверять время и день недели?
private void timer1_Tick(object sender, EventArgs e)
{
var currentTime = DateTime.Now.TimeOfDay;
var currentDow = DateTime.Now.DayOfWeek;
var oneMinute = new TimeSpan(0, 1, 0);
if ((currentDow == DayOfWeek.Monday)&&(currentTime-timeMondayОтвет
Более правильно будет хранить для каждой задачи следующее время запуска и запускать задачу когда текущее время больше запланированного (но не вышло за пределы некоторого разумного интервала). Про строгие сравнения времени забудьте в принципе!
PS для справки - мой старый ответ на смежную тематику: https://ru.stackoverflow.com/a/593736/178779
понедельник, 1 октября 2018 г.
Выполнение операций по расписанию
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий