|
Одновременный запуск | ☑ | ||
---|---|---|---|---|
0
maestro-72
30.03.14
✎
08:49
|
'Пробуем запустить восьмерку с параметром
Set WshShell = CreateObject("WScript.Shell") RetCode = WshShell.Run("""c:\Program Files (x86)\1cv82\8.2.18.102\bin\1cv8s.exe"" ENTERPRISE /F D:\1cBase\АВК /N analitik /Pads /C ZagruzkaIzDBF",1,vbtrue) RetCode = WshShell.Run("""c:\Program Files (x86)\1cv82\8.2.18.102\bin\1cv8s.exe"" ENTERPRISE /F D:\1cBase\АВК /N analitik /Pads /C VipolnitObmen",1,vbtrue) эти две строки в vbs отрабатывают одновременно, а должны по очереди. Что не так делаю? |
|||
1
arsik
гуру
30.03.14
✎
09:01
|
1cv8s.exe
|
|||
2
Мимохожий Однако
30.03.14
✎
09:18
|
Запусти вторую изнутри
|
|||
3
Jump
30.03.14
✎
09:18
|
(0)А с чего ты взял что они выполняются одновременно?
Они выполняются по очереди, это факт. |
|||
4
shuhard
30.03.14
✎
09:20
|
(3)[Они выполняются по очереди, это факт.]
факт, что они выполняются асинхронно и вторая может стартовать раньше окончания первой |
|||
5
Jump
30.03.14
✎
09:26
|
(4)
-факт, что они выполняются асинхронно С чего бы это они выполнялись асинхронно? Разве VBскрипт поддерживает асинхронное программирование? -вторая может стартовать раньше окончания первой Почему это может? Она должна стартовать сразу же после запуска первой, а сколько там первая выполнятся будет, это не ее забота. |
|||
6
Jump
30.03.14
✎
09:27
|
Поэтому одновременно они никак не могут стартануть.
Сначала будет стартовать первая, через доли секунды вторая. |
|||
7
rphosts
30.03.14
✎
09:33
|
(5) вторая действительно может стартовать раньше первой, но ооочень редко... винды они такие винды...
|
|||
8
Jump
30.03.14
✎
09:35
|
(7)Ну скажем так команды на запуск будут идти по очереди, а кому удастся быстрее очухаться и стартануть, тут дело случая.
Все таки не риалтайм система чтобы за этим следить. |
|||
9
shuhard
30.03.14
✎
09:36
|
(5)[а сколько там первая выполнятся будет, это не ее забота.]
ZagruzkaIzDBF + VipolnitObmen ху..евенький обмен будет до загрузки |
|||
10
arsik
гуру
30.03.14
✎
09:37
|
Сначала узнайте, за что отвечает файл "1cv8s.exe" а потом уже постите всякий бред.
|
|||
11
Wobland
30.03.14
✎
09:38
|
а зачем бы не сделать один запуск?
|
|||
12
Jump
30.03.14
✎
09:42
|
(10)А при чем тут файл "1cv8s.exe" ? Никак не пойму.
|
|||
13
maestro-72
30.03.14
✎
09:46
|
Ну во-первых обработки разные и запускаются последовательно, т.к. это тонкий клиент и не мой, изменить не могу.
Во вторых я не знаю почему было 1cv8s.exe. Раньше был батник, запускался с 2003 шедуллера, все работало как часы. сейчас 2008 сервер 64x не запускается все свел к одному vbs а эти две обработки не хотят запускаться последовательно, хотя вроде бы и должны. Сначала должен был быть выполнен обмен, потом выгрузка, а сейчас в диспетчере задач смотрю обе они запускаются одновременно, или почти одновременно, что не суть важно. vbTrue для чего стоит? |
|||
14
Jump
30.03.14
✎
09:52
|
(13)Что ты понимаешь под словом "последовательно"?
В моем понимании последовательно это когда запускается первая, и тут же после нее вторая. Поскольку запуск программный вторая должна запустится через долю секунды после первой. Это называется последовательно. И я уверен что они так и запускаются. Другое дело, если ты хочешь запускать вторую, дождавшись исполнения первой... |
|||
15
maestro-72
30.03.14
✎
09:54
|
Почитал ветки форума, странное дело, по ходу дело в 64 битной системе. В батнике рекомендуют запускать start /w
А как это в vbs реализовать. (14) именно(дождавшись завершения первой). |
|||
16
Jump
30.03.14
✎
09:59
|
/wait
|
|||
17
Jump
30.03.14
✎
10:04
|
а, хотя не попутал.
|
|||
18
maestro-72
30.03.14
✎
10:05
|
(16) что /wait?
Короче, батник что ли делать и из vbs этот батник запускать? Криво как то |
|||
19
Jump
30.03.14
✎
10:10
|
А попробуй вместо vbTrue просто True
|
|||
20
maestro-72
30.03.14
✎
10:10
|
Пробовал. Та же песня
|
|||
21
arsik
гуру
30.03.14
✎
11:35
|
(12) В скрипте запускается 1cv8s.exe - а это маленькая програмка которая отображает окно выбора баз, и запускает уже 1cv8.exe.
Читаем в мануале про 3й параметр: "необязательный, булево (число). True - сценарий возобновит работу только после завершения ВЫЗВАННОГО ПРОЦЕССА. False (по умолчанию) - управление передаётся сразу обратно в сценарий." Итого в остатке. Скрипт запускает 1cv8s.exe, он в свою очередь запускает 1cv8.exe и закрывается. vbs считает что процесс завершен (а это именно так). Вызывает следующий. Поменяйте в скрипте вызов 1cv8s.exe на 1cv8.exe |
|||
22
Torquader
30.03.14
✎
12:10
|
(21) Можно exec использовать, а в него вставить запуск командной строки - тогда точно можно будет знать, что происходит, и когда что завершится.
|
|||
23
Torquader
30.03.14
✎
12:11
|
Ещё можно посмотреть в сторону WMI, чтобы отследить появление процесса 1С и ждать уже его завершения, не обращая внимания вообще на то, кого мы реально запустили.
|
|||
24
Aleksey
30.03.14
✎
12:28
|
(21) +100
|
|||
25
maestro-72
01.04.14
✎
13:44
|
(21) Усё получилось. Большое спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |