Мне интересно узнать, какие у меня проблемы с этим подходом. Код будет проверять таблицу SQL для запланированной работы, и я изменю таймер, чтобы он ничего не делал, пока работа не будет завершена. Является ли SQL Trigger жизнеспособным вариантом? А как насчет консольного приложения в расписании Windows?
protected override void OnStart(string[] args) {
this.workChecker = new Timer(new TimerCallback(DoWork), null, 0, 60*10*1000); // 10 minutes
Thread.Sleep(Timeout.Infinite);
}