Как заставить скрипт подождать завершения 1CEStart.exe? #459285


#0 by Бизнес Аналитик
Хочу сделать бекап, потом обновление. Чтоб каждый раз не вычислять номер версии запускаю 1CEStart.exe с параметрами. Но он видимо рождает дочерний процесс для нужной версии, а сам завершается. Т.о. скрипт думает, бекап уже отработал и запускает обновление. Обновление выкидывает ошибку, типа конфигуратор занят.
#1 by Бизнес Аналитик
... к сабжу. Возможно есть какие-то ключи (я не нашел), которые могут заставить 1CEStart.exe ждать завершения дочернего процесса...!? Может быть есть другой способ (какой лучший?) вычислить нужную версию?
#2 by genosse
Loop
#3 by Бизнес Аналитик
Ща попробую...
#4 by Бизнес Аналитик
Супер! Работает! Сам бы точно не допетрил. Спасибо!
#5 by Бизнес Аналитик
Странная штука... на моем компе (Vista) сработало, скрипт ждет завершения. Пробую запустить на сервере (вин 2003) - не хочет, не ждет и проскакивает дальше.
#6 by Бизнес Аналитик
Может тогда задать другой вопрос: кто как бекапит базы 1Сv82?
#7 by Бизнес Аналитик
Может разница в том, что на локальном компе я пробовал на файловой базе, а на серваке - уже серверная?! Может над всеми пакетными заданиями думает уже сервер? Грубо говоря, 1cestart.exe дает команду серверу, и тот уже создает свой процесс для бекапа?! Ну или как-то так?
#8 by Seducer
скрипт VBS. вот пример строки выгрузки базы WshShell.Run """C:Program Files (x86)1cv82common1cestart.exe"" DESIGNER /Ssrv:1641ase /NАдм /P111 /DumpIB c:SQLDumpase.dt",1,True Последний параметр как раз указывает, что нужно ожидать завершения
#9 by Бизнес Аналитик
и работает?
#10 by Бизнес Аналитик
+ ... всмысле, он ждет завершения этой команды?
#11 by Seducer
работает. у меня несколько баз так бэкапятся (помимо бэкапов скуля). 8.2, правда, только одна база. Остальные 8.1, но принцип один и тот же. выполняются последовательно. один отработал, запускается второй и т.д.
#12 by Бизнес Аналитик
.... Так вот... h0 возникает сразу после запуска 1с, т.е. не ждет ее окончания... Не понимаю, в чем может быть проблема.
#13 by Бизнес Аналитик
... здесь я обновляю базу из хранилища. Но в случае с бекапом - тоже самое. На практике это выглядит так: куча сеансов 1С, во всех кроме первого окно с ошибкой с разделением доступа к файлу (файл для вывода служебных сообщений). Т.е. программа не ждет завершения, а сразу запускает одну за одной 1С-ки... в результате и ошибка разделения доступа.
#14 by Бизнес Аналитик
... подумалось тут... А Вы случаем не одно ли действие за раз выполняете? (т.е. например, только бекап)
#15 by Бизнес Аналитик
т.е. если база 8.2 только одна, и действие только одно - бекап, то "моей" ошибки можно и не заметить.
#16 by Бизнес Аналитик
+ даже с несколькими базами можно не заметить, если с каждой базой только 1 действие выполняется....
#17 by Serg_1960
Рискну предположить: параметр ожидания окончания основного(!) процесса не контролирует порождаемый процесс(?)
#18 by Serg_1960
Из другой правда оперы, но... start "" /wait "C:Program Files1cv81in1cv8.exe" CONFIG /DumpIB"1Cv81.db"... rename 1Cv81.db 1Cv81_%date:~8,2%%date:~3,2%%date:~0,2%.db EXIT
#19 by Бизнес Аналитик
... не подходит... "указанный файл не обнаружен" Походу нельзя указывать start... Неужели нет выхода?!
#20 by Бизнес Аналитик
Уже склоняюсь к ламерскому способу - тупо поставить wait ....
#21 by Seducer
Да, действительно. Действие для всех баз одно и тоже - бэкап. Идет бэкап 5 баз. Но выполняются они последовательно. Работает только один процесс. После завершения выгрузки базы и закрытия процесса запускается другой процесс. Т.е. висит во время выполнения скрипта только один процесс.
#22 by Бизнес Аналитик
нужно посмотреть как запускается бекап 8.2... (конечно, если он не последний в списке)... 99% уверен, что он идет в параллель с последующим бекапом 8.1 базы.
#23 by smaharbA
cmd /c start "" /wait ....
#24 by Бизнес Аналитик
ща опробую...
#25 by Бизнес Аналитик
+ увы...
#26 by Бизнес Аналитик
не сработало...
#27 by smaharbA
вобщето если проскакивает далее, то процесс завершился
#28 by Бизнес Аналитик
вообще да.... но в серверном варианте оно как-то не так отрабатывается... Процесс идет (всмысле бекап), а программа (скрипт) уже выполняет следующие действия.
#29 by smaharbA
по не может быть такого эффекта, только если эта хня, что в не создает другой процесс
#30 by Бизнес Аналитик
походу создает... пробовал у себя на файловой - прокатывает. В серверном варианте - нет.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С