Хорошо, я думаю, мне нужно немного прояснить ситуацию, извините.У меня нет проблем с приложением само по себе.он запускает один или несколько экземпляров просто отлично.у нас есть встроенный механизм для предотвращения вмешательства между экземплярами, блокировки файлов / записей и т. д.
проблема заключается в том, что иногда при запуске нескольких экземпляров (некоторые идут один раз и нажимают на myapp.exe несколько раз вручную)или больше экземпляров могут сокрушить.будь то плохие данные в файле, потеря связи с БД, что угодно.Я все еще пытаюсь выяснить некоторые необъяснимые источники сбоя и зависания экземпляров.
я ищу способ настроить процесс мониторинга, чтобы A. мог идентифицировать каждый экземпляр приложения, работающего какотдельная сущность.Б. проверьте, работает ли этот экземпляр и не зависает ли он, возможно, это происходит с помощью посредника, но я изменяю код и вынуждаю приложение выйти, если обнаружена фатальная ошибка, как в случае сбоя и восстановления не удается, выход из системы, вид настройки,C. запускать новые дополнительные экземпляры до общего количества запущенных требуемых экземпляров.то есть я хочу иметь минимальное количество или приложение, работающее в то же время.если текущий счет меньше, запустите новый, пока не будет достигнут желаемый счет.
Каков наилучший подход для этой настройки.
У меня есть собственное приложение, написанное на смешанном API C ++ и C #.это анализатор обработки файлов для процесса EDI, который берет данные из плоских файлов или представление плоских файлов из таблицы БД (у нас есть другие модули, которые хранят содержимое плоского файла в поле БД varchar) и обрабатывает и хранит данные в соответствующих таблицах БД,по большей части он работает нормально, но нескольким клиентам необходимо запустить несколько его экземпляров, чтобы ускорить процесс.
Проблема заключается в том, что когда происходит сбой приложения, я не знаю автоматического способа идентификации сбойного экземпляра, его закрытия и перезапуска.
нужна помощь, чтобы определить мои параметры здесь.Как я могу запускать один и тот же EXE-файл несколько раз, но отслеживать и управлять каждым из них в случае неправильной работы экземпляра.
возможно изменение кода, но C ++ не является моим основным языком, поэтому для меня будет кошмаром делать какие-либо обширные изменения.
PS> приложение представляет собой смесь модулей C ++ и C #с базой данных MSSQL DB
спасибо.
процесс контролируется с помощью MSSQL SP.проблема может быть выявлена по удаче обработанных новых записей и других факторов
. Мои потребности должны быть в состоянии 1. запустить несколько экземпляров приложения одновременно.2. отслеживать каждый экземпляр запущенного EXE-файла и, если обнаружена давка, уничтожить и перезапустить этот экземпляр.У меня в приложении есть переключатель уничтожения, который может корректно его выключить, но мне нужен способ контролировать и перезапускать его.но только этот.