Я разработал приложение для Windows, которое будет следить за исходной папкой, если найдет какие-либо папки под исходным кодом, переместит эту папку в папку процесса, после выполнения какой-либо операции в папке процесса, она переместит папку назначения этих папок или папку с ошибками.Это приложение Windows, которое я преобразовал в службу Windows, и я делаю эту службу, будет вызывать каждые 30 секунд, но теперь я не понимаю, как проверить, прежде чем вызывать службу, в следующий раз, когда завершится предыдущий процесс или нет, если он не завершен, как избежать повторного вызова службы.
Я добавил интервал таймера на 30 секунд, но процесс может занять более 30 секунд (непредсказуемо).
protected override void OnStart(string[] args)
{
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 30000; //5000number in milisecinds
timer.Enabled = true;
}
private void OnElapsedTime(object source, ElapsedEventArgs e)
{
foldermovinglogic();
}