|
v7: Несколько СОМ соединений V77S.Application | ☑ | ||
---|---|---|---|---|
0
r_p
20.01.14
✎
16:51
|
Утра.
Есть база на восьмерке. В базе куча регламентных заданий по обмену данными с базами на семерке. Возникает проблема, что не стартует следующее COM-соединение, пока не убито предыдущее. Базы естественно разные. Т.е. на сервере нельзя создать 2 соединения с семеркой. Вылетают ошибки типа "Неизвестная ошибка" и "Не обнаружен интерфейс". Если запускать по одному, то все ок. Локально на компьютере делаю сколько угодно одновременных соединений. Куда копать, товарищи? |
|||
1
Torquader
20.01.14
✎
17:02
|
Во-первых, нужно отключать модальный режим, чтобы можно было открыть несколько баз, а также не забывать, что для каждой должна быть своя директория пользователя, чтобы не было взаимоблокировок.
Также нужно хранить базы в локальных переменных, чтобы они никак не могли быть сохранены после окончания выполнения задания (очистку переменных никто не отменял). Потом, в каком режиме "живёт" восьмёрка и какая разрядность сервера - может быть - он не даёт запустить два объекта из 64-битного режима. |
|||
2
r_p
20.01.14
✎
17:54
|
(1) Модальный режим у окон? Никаких окон при старте нет.
|
|||
3
Torquader
20.01.14
✎
23:16
|
(2) Не модальный, а монопольный доступ к базе (окон-то там может и не быть).
|
|||
4
r_p
21.01.14
✎
17:02
|
(3) Это все понятно. Вопрос не в этом. Есть 3 базы, для чистоты эксперимента они одинаковые. Модальных окон нет, в базах никого нет. Запускается из 8-ки последовательно коннекты к базам по одной. К первым двум присоединяется, к третей нет, выдает вышеописанные ошибки. Возможно это ограничения платформы 1С 7.7?
|
|||
5
Torquader
22.01.14
✎
00:00
|
(4) Это "классная" особенность 1С 7.7 - иногда нельзя открыть три экземпляра 1С - третий не запускается, так как ему каких-то ресурсов GDI не хватает - уж больно 1С прожорливая.
Чтобы работало хорошо, нужно под разными пользователями и под разными рабочими станциями запускать, хотя, насколько я помню, разных Desktop-ов хватало. Просто, если серверная версия, то фоновое задание запускается под рабочей станцией, выделенной для службы, а она сильно урезана по параметрам. |
|||
6
r_p
23.01.14
✎
15:05
|
(5) В том то и проблема, что все фоновые задания стартуют с сервера 1С. А как запустить фоновое задание с другого сервера я не представляю.
|
|||
7
ТогдаКонецЕсли
23.01.14
✎
15:30
|
(6) поставь еще один сервер 1с на другую машину.
На первом сервере регламентные задания запрети, на втором разреши. |
|||
8
r_p
23.01.14
✎
16:50
|
(7) Получу ту же ситуацию что и с первым сервером 1С. Попаду на ограничение в 2 кома.
|
|||
9
varelchik
23.01.14
✎
17:40
|
(8) А терь просни вот что:
Запускаешь родным планировщиковм? |
|||
10
ТогдаКонецЕсли
23.01.14
✎
18:10
|
(8) А если параметры регламентного задания внести сервер.
Если текущий сервер совпадает, то рег. задание отрабатывает, иначе - нет. Тогда и запускать можно на двух серверах. Хотя и кривовато как-то. |
|||
11
varelchik
23.01.14
✎
18:25
|
(0)ответь на (9).
|
|||
12
r_p
23.01.14
✎
18:34
|
(11) Все стандартно. Все на основе БСП. Все родное.
(10) Не понял где можно указывать сервер для регламентных. Подскажи где искать? |
|||
13
Torquader
23.01.14
✎
23:27
|
(12) Идея в том, чтобы вместо регламентного задания запускать 1С из командной строки через планировщик - тогда на каждое задание будет отдельный процесс (но потребуется отдельный ключ или лицензия).
|
|||
14
r_p
24.01.14
✎
13:34
|
(13) Идея интересная. Спасибо. Если что будем пробовать.
|
|||
15
varelchik
24.01.14
✎
13:40
|
(14) вот только у планировщика есть одно ж.
если запускать процесс с ожиданием то больше одного не запустишь. проверено. с ожиданием можно запускать только через nncron (тоже проверено годами). |
|||
16
Torquader
24.01.14
✎
15:55
|
(15) Можно запустить процесс, который из себя запускает другие процессы и следит за тем, что они делают - а запускалку на VbScript писать не так уж и сложно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |