У клиента сложилась ситуация когда одна из служебных обработок обслуживающая взаимодействие с внешними устройствами, без объявления войны начала падать(естественно вместе с платформой) с завидной периодичностью. Анализ возможных причин не выявил явных причин, обращение к производителю не дало результата. В виде временного решения решил написать программку для перезапуска процесса при его падении. Программка написана на .NET 4 и соответственно требует эту версию библиотеки.
В архиве все файлы C# проекта(как бы opensources). Сам исполняемый файл находиться в папке /bin/debug/ReStarter.exe.
P.S. Да, можно было использовать регламентные задания или написать скрипт, но мне было интересно написать что нибудь на C#, что заняло 15 минут времени.
Делаем батник:
tasklist /fi «imagename eq 1cv8.exe» > tasklist.txt
find «1cv8.exe» tasklist.txt
if errorlevel==1 goto main
goto exit
:main
rem Здесь запускаем 1С
…
…
:exit
DEL tasklist.txt > nul
Добавляем в регламентное задание — и готово!
(1) DrAku1a, но он же написал: «P.S. Да, можно было использовать регламентные задания или написать скрипт, но мне было интересно написать что нибудь на C#, что заняло 15 минут времени». Ему было интересно попробовать по-другому
Делаем батник:
Цитата
@echo off
tasklist /fi «imagename eq 1cv8.exe» > tasklist.txt
find «1cv8.exe» tasklist.txt
if errorlevel==1 goto main
goto exit
:main
rem Здесь запускаем 1С
…
…
:exit
DEL tasklist.txt > nul
Добавляем в регламентное задание — и готово!
Показать
Спасибо. Я знал о подобном способе, но как говорил выше хотел попробовать что то новое. К тому же хотелось видеть некий журнал падений — дабы в дальнейшим ассоциировать время падения с некоторыми событиями приводящими к краху.