Имя: Пароль:
1C
1C 7.7
v7: Две 7-ки не работают вместе
,
0 extrim-style
 
10.06.13
10:33
WS2008x64. 2 каталога с 7-ками (слегка различаются), для каждой 7-ки своя база. Для каждой базы настроил назначенное задание средствами windows. По отдельности работают, но если запускаю вместе, то работают как зря. Или один из процессов падает, или один из них не отрабатывает как нужно, или второй вобще не запускается.

Вот сейчас запустил задание 1, проверил - всё работает как надо. Запускаю второе - оно не запускается. В логах пишет, как будто оно отработало нормально:
Task Scheduler successfully completed task ... action "C:\Program Files (x86)\1Cv77.adm\BIN\1cv7s.exe" with return code 0.

Может кто что подскажет?
1 1Сергей
 
10.06.13
10:40
а зачем две платформы 7.7 в одной венде? И чем они "слегка" отличаются?
2 Defender aka LINN
 
10.06.13
10:45
(0) А длянафига тебе 2 семерки вообще?
3 extrim-style
 
10.06.13
10:46
(1) сия тайна, покрытая мраком)
насколько я знаю, согласно политики 1С компонента Trade.dll должна быть в составе другого каталога. Плюс, я посчитал, что так запуск будет проще в отношении возможных коллизий, хотя пока получается обратная ситуация...
4 big
 
10.06.13
10:48
(3) "... согласно политики 1С компонента Trade.dll должна быть в составе другого каталога...".  Прикольно. А мужики-то не знали )))
5 extrim-style
 
10.06.13
10:49
(4) наверняка я не знаю. Мне так сообщили 7-рочники.
6 Defender aka LINN
 
10.06.13
10:52
(5) Гони их ссаными тряпками, это не настоящие сантехники ©
7 extrim-style
 
10.06.13
10:53
я, конечно, попробую запустить из одного каталога, но сомневаюсь, что это поможет
8 Прыгун
 
10.06.13
10:53
(5) Могу предположить, что 2 каталога 1С используется из за каких нибудь внешних dll.
9 extrim-style
 
10.06.13
10:57
(8) изначально, возможно и с этим связано. Но в рамках данной задачи я использую 7-ки локально на сервере с патченным BkEnd.dll (в рамках ws2008x64).
10 AAP
 
10.06.13
11:05
(9) 2 каталога используются если у вас например бухгалтерия сетевая и торговля на 3-х пользователей, у бухгалтерии нет трехпользовательской версии платформы (только на 1 пользователя и неограниченная), а у торговли и зарплаты 3 вида платформы 1, 3 и неограниченное. Так вот если установить 3-х пользовательскую торговлю/зарплату в один каталог с бухгалтерией, то бухгалтерия тоже не будет запускать в базу больше трех пользователей.
11 extrim-style
 
10.06.13
11:06
Эти две 7-ки, запущенные в профиле регламентного пользователя, отрабатывают нормально - это я к тому, что они друг другу не мешают, но вот с назначенными заданиями засада.
12 extrim-style
 
10.06.13
11:08
(10) думаю, они неограниченные.
13 extrim-style
 
10.06.13
11:56
настроил на один каталог - не стартует, тоже что в (0).
14 Злой Бобр
 
10.06.13
12:10
(13) В шедулере стартуй батник, тогда все отработает. Просто на 64х 1С у тебя незарегистрирована в реестре. Поэтому бесполезно стартовать экзешник.
15 Dolly_EV
 
10.06.13
12:36
и если в (12) так, как ты думаешь, то вообще не вижу смысла в двух 7-ках
16 extrim-style
 
10.06.13
15:08
(14) изначально делал через батники, потом непосредственно в шедулере. Насчет 64x это ты что-то не то сказал, т.к. она работает и реестр тут не причем, насколько я знаю при первом запуске всё что нужно прописывается.

Сейчас снова пробовал на ws2003x64, 7-ки из сетевой шары, запуск через батники. Так вот, когда регламентный пользователь залогинен на сервере, то всё работает как надо. Когда не залогинен, то второе задание не отрабатывает, хотя процесс и появляется.
17 dk
 
10.06.13
15:18
разнеси старт заданий хотя бы на 1-5 секунд (минуту если не критично)
18 extrim-style
 
10.06.13
15:20
Пока удалось обеспечить необходимую работу используя только 2 разных сервера по одному назначенному заданию на каждом. А хотелось бы завести это всё на одном серваке.
19 extrim-style
 
10.06.13
15:20
(17) разносил на 30 сек
20 extrim-style
 
10.06.13
16:11
Может в (0) второй процесс не запускается, т.к. у них совпадает Image Name "1cv7s.exe*32" и Description "1С:V7 Starter Program (for SQL)" ?
21 Torquader
 
10.06.13
18:40
(20) Ну ещё могут совпадать директории пользователей и т.п.
Также не стоит забывать, что семёрка требует очень много ресурсов окон (зачем - не знаю), но у неинтерактивного процесса просто может не хватить ресурсов на две и более семёрок - нужно писать посредника, который открывает новую WindowsStation для каждой 1С - должно взлететь.
22 extrim-style
 
11.06.13
13:52
(21) есть где об этом почитать? не думаю, что 7ка много памяти отжирает. На две 7ки порядка 50 Мб, да там памяти навалом, или ты про какие ресурсы?
лишних окон не стартует, кроме обработки и то она в фоне.

Если запускаю назначенные задания в интерактивном режиме, то всё работает как надо. Но, естественно, мне не нужен этот пользователь всё время залогиненым на сервере, поэтому ставлю неинтерактивно. В этом случае оба процесса работают, но вторая задача не исполняется.
23 extrim-style
 
11.06.13
13:53
+(22) в неинтерактивном режиме почему-то работает только 1 задача, если запускаю обе, то вторая не исполняется, хотя процесс работает.
24 ЧеловекДуши
 
11.06.13
13:59
Попробуй запускаться из одного каталога, где лежат все компоненты :)
25 extrim-style
 
11.06.13
14:04
(24) ---> (13)
26 extrim-style
 
11.06.13
15:58
Если запускаю обе задачи почти одновременно, то обе стартуют и обе падают, начиная с последней.
27 extrim-style
 
11.06.13
16:00
+(26) причем в журнале пишет, что задачи выполнены...
28 Andreyyy
 
11.06.13
19:26
(22) Помнится не работала схема, когда 7.7 запускалась в планировщике без залогиненного пользователя (времена сервера 2003).
29 Torquader
 
12.06.13
12:45
Если хочется две задачи, но нужно создавать службу, работающую из-под какого-то пользователя, а не из-под системы.
30 extrim-style
 
13.06.13
11:44
Так тоже не получилось - http://legion-service.org/article2.html

(29) есть где почитать?
31 dk
 
13.06.13
12:24
не обратил внимание что Вынь 2008 64
попробуй сделать отдельные ярлыки и галку поставить "совместимость с 2000"
32 Torquader
 
13.06.13
12:28
Для начала, почитать про RUNAS.EXE - может оно поможет.
Потом, можно попробовать написать "запускалку" в одном задании, но с созданием отдельных процессов (например на VBScript) - там более подробно можно получать ответ о том, что завершилось, а что - нет.
33 Torquader
 
13.06.13
12:33
Set sh=WScript.CreateObject("WScript.Shell")
sh.Run "Notepad.exe"
Set e=sh.Exec("notepad.exe")
Echo e.Status
34 Torquader
 
13.06.13
12:34
У Exec ещё есть хороший метод Terminate, который позволяет "срубить" процесс, если другого выхода нет.
35 extrim-style
 
13.06.13
14:09
(32) спасибо, посмотрю.

А вобще странно вот что. Запускаю первую задачу, затем вторую, вторая судя по логам как будто успешно отрабатывает, хотя по факту нет. Кажется логичным, что это связано с настройкой задания "Если задача уже выполняется, то применять правило: не запускать новый экземпляр", вроде как имена экзешников и Description одинаковые. Ставлю "запускать новый экземпляр задания" или "остановка текущего задания" - также ничего не происходит.
36 extrim-style
 
13.06.13
14:30
На всякий случай попробовал указать пользовательскую папку - безрезультатно.
37 extrim-style
 
13.06.13
15:29
38 extrim-style
 
13.06.13
15:41
39 extrim-style
 
13.06.13
16:39
Попробовал запускать этим скриптом (из одного каталога):

dim err_code

sub my

   Dim v7
   Dim s_path
   Dim s_user
   Dim s_pass
   Dim s_report
   Dim s_context

   s_path = "Z:\db1\"
   s_user = "Обработчик"
   s_pass = ""
   s_report = "Z:\20080204\1.ert"
   s_context = "Run"

   Set v7 = CreateObject("V77.Application")
   result = v7.Initialize(v7.RMTrade, "/D" & s_path & " /N" & s_user & " /P" & s_pass, "NO_SPLASH_SHOW")
   if  not result then
       'msgbox("Облом")
       exit sub
   end if

   result = v7.OpenFormModal("Отчет", s_context, s_report)

   'msgbox("s_context = " & s_context)
   'msgbox("result = " & result)

   'msgbox("Усе")
   
   err_code = 0

end sub

err_code = 255
my()
wscript.Quit(err_code)


Первый процесс стартует - второй делает вид, что отработал успешно:

Information    13.06.2013 16:27:28    102    Task completed    (2)    01007120-43fa-4ee1-bad2-7c202b8c5e45
Information    13.06.2013 16:27:28    201    Action completed    (2)    01007120-43fa-4ee1-bad2-7c202b8c5e45
Information    13.06.2013 16:27:28    129    Created Task Process    Info
40 extrim-style
 
13.06.13
16:40
41 extrim-style
 
13.06.13
17:12
Переименование экзешника 1cv7s во втором каталоге не помогло.
42 extrim-style
 
14.06.13
10:53
Воспользовался xStarter'ом. 2 процесса держит одновременно, но 1ска не отрабатывает, даже при одном запущенном от xStarter'a процессе. Если же запускаю 1 процесс виндовым шедулером - работает нормально...
43 extrim-style
 
14.06.13
11:50
Неужели ни у кого нет настроенных регламентов на 7-ку? Как они у вас работают?
44 extrim-style
 
14.06.13
12:07
Точно такая же проблема - Не работает второй процесс 1с 7.7
45 extrim-style
 
14.06.13
14:32
46 Torquader
 
14.06.13
22:40
(43) Я виндовый шедулер выношу сразу за любовь к распространению вирусов.
Писал службу для запуска 1С, но там какие-то проблемы в выделением из системной кучи (видимо, 1С слишком много каких-то объектов создаёт) - она запускалась, но потом падала.
Кроме того, при запуске двух процессов из-под одной учётки у них будет общая таблица объектов (а 1С сама много чего регистрирует в системе) - вполне вероятно, что из разных каталогов они просто не хотят работать.
Потом, если дойдут руки буду пробовать через создание новой "станции" - CreateWindowsStation - позволяет создать новую станцию со своими таблицами объектов - и два процесса на разных станциях не должны пересекаться по объектам.