Хотя в использовании планировщика заданий нет ничего плохого, он сам по себе является службой. Но у нас есть те же требования, что и у меня, и у нас есть программа общего назначения, которая выполняет несколько из этих работ. Я интерпретировал ваш пост так, что вы будете запускать отдельные сервисы для каждой задачи, я подумал бы о написании единой, управляемой базой данных (сервисной) программы для выполнения всех ваших задач, и поэтому, когда вы добавляете новую, это просто рутинная работа по вводу данных, а не совсем новая прога для записи. Если вы практикуете контроль изменений, эта разница может быть значительной. Если у вас есть более чем несколько задач, усилия могут быть совместимы. Этот подход также позволит вам создать механизм каротажа, наиболее подходящий для ваших операций.
Это часть нашего документа требований к нашей программе задач, чтобы дать вам представление о том, с чего начать:
Эта программа должна управляться базой данных.
Он должен работать как служба Windows.
Программа должна иметь возможность обрабатывать «задания» следующим образом:
Задания должны иметь возможность проверять наличие исходного файла и предпринимать действия в зависимости от наличия или отсутствия исходного файла. (т. е. приступаем к обработке, сообщаем, что файла нет, игнорируем, потому что не важно, что файла нет.
Задания должны иметь возможность скопировать файл из источника в целевое местоположение или
Скопируйте файл из источника в промежуточное местоположение, выполните «обработку», а затем скопируйте исходный файл или результат «обработки» в целевое местоположение или
Скопируйте файл из источника в место размещения, выполните «обработку», и обработка будет конечным результатом.
Источники и места назначения, в которые могут копироваться задания, могут быть разными: UNC, SFTP, FTP и т. Д.
«Обработка» может быть шифрованием / дешифрованием файла, анализом файла данных для правильного формата, передачей файла на мэйнфрейм с помощью эмуляции терминала и т. Д., Обычно реализуемым путем вызова параметров командной строки с передачей параметров. в .exe
Рабочие места должны быть в состоянии убирать за собой, по мере необходимости. удалить промежуточные или исходные файлы, скопировать файлы в папку архива и т. д.
Программа должна иметь возможность определять успех и неудачу каждого этапа задания и предпринимать соответствующие действия, которые будут вести протоколирование и, возможно, другие уведомления, прерывать дальнейшую обработку при сбое и т. Д.
Задания должны быть настроены на активацию в определенное установленное время или через определенные промежутки времени (необязательно в определенные заданные часы), то есть каждые 15 минут с 9:00 до 5:00.
Для добавления новых заданий необходим пользовательский интерфейс.
Должна быть кнопка, чтобы нажимать, чтобы запустить задание, как если бы событие таймера активировало его.
Стандартный дисплей программы должен показывать оператору, что происходит и работает ли программа должным образом.
Все это основано на предпосылке, что вы пишете свое собственное программное обеспечение. На рынке также есть несколько программ для планирования задач предприятия. Покупка с полки может быть лучшим решением для вас.