Вы можете преобразовать это в службу Windows и реализовать конфигурацию для интервалов времени, когда она должна работать?Простая служба, которая берет интервал времени из файла конфигурации и конвертирует текущий .exe в .dll, затем запускает .dll в цикле while, когда он закончил, ожидает указанный интервал времени.Быстрый пример может выглядеть так:
OnStart()
{
//do stuff and get config and specify thread with a Cancellation Token
StartWhile(intervalTime);
}
StartWhile(int interval)
{
while(!thread.IsCancellationRequested)
{
//Start work
Thread.Sleep(interval);
}
}
Обратите внимание, что это грубый пример, а не просто следовать общей идее.