Лучшая практика при наличии нескольких запланированных задач, вызывающих один и тот же исполняемый файл - PullRequest
0 голосов
/ 17 ноября 2011

Мне нужно импортировать разные каналы в разное время, и я планирую настроить отдельные запланированные задачи, то есть такие, которые выполняются еженедельно, один раз в месяц и т. Д., С разными аргументами в зависимости от того, какие каналы следует запускать. Мой вопрос: что лучше всего делать при этом - должен ли я проверить, например, работает ли exe? Я знаю, что вы можете настроить запланированное задание для постановки в очередь экземпляра, если он уже запущен, но это относится только к задаче, а не к exe. Я не думаю, что это будет слишком трудоемким процессом, поэтому было бы хорошо, если бы несколько экземпляров работали одновременно, но я просто хотел бы проверить, если я пропущу некоторые очевидные ловушки.

Спасибо

Annelie

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Один из способов управления одним экземпляром запущенного приложения - использовать Mutex.Однако не должно быть никаких проблем с использованием планировщика задач для выполнения того, что вы хотите - конечно, все это зависит от того, что делает ваша программа.Вам придется обрабатывать синхронизацию в зависимости от логики вашей программы.

Этот вопрос содержит некоторую соответствующую информацию об использовании Mutex для принудительного применения одного экземпляра.

1 голос
/ 17 ноября 2011

С планировщиком заданий проблем не будет. Вы можете без проблем запускать один и тот же исполняемый файл в разных задачах.

Конечно, в вашем приложении есть потенциальные проблемы. Вам нужно, чтобы каждый отдельный экземпляр записывал в другой выходной файл, или, если они используют один и тот же выходной файл, вам нужно синхронизировать доступ. Если вы не пишете в базу данных, которая обычно выполняет эту синхронизацию для вас.

...