Имя: Пароль:
1C
1С v8
Обновление из хранилища и TerminateSession
0 Taliesien
 
28.10.19
15:24
Добрый день.

Есть неприятная ситуация. Есть хранилище. Есть десяток подключенных к нему баз. Соответственно, столько же программистов. Периодически кто-то лезет в боевую и работает подключенный к хранилищу.
Обновления проходят самописным регламентным заданием через командную строку с ConfigurationRepositoryUpdateCfg.
Сеансы пользователей прерываются через COMConnector и TerminateSession.
Вишенка на торте, что если пользователь оставил конфигуратор, его выбьет. Но у него выскочит "Админ вас прервал. Таратата. <Завершить><Перезапустить>". И пока не нажмутся кнопки завершить, пользователь считается подключенный к хранилищу. И соответственно скрипт когда подключается не может подключиться так как "Пользователь уже аутентифицирован в хранилище".

Запрещать работать в боевом  конфигураторе не хочется, так как много правок исправляется по горячему, да и административного ресурса может не хватить на такой запрет.

Как победить? Может кто сталкивался с чем-то похожим?
1 palsergeich
 
28.10.19
15:29
(0) по идее для получения конфигурации из хранилища юзеров выгонять не надо.
Вообще эта задача решена в АПК. Там на сколько я знаю идёт подключение к хранилищу, получение конфигурации и отключение от хранилища
2 palsergeich
 
28.10.19
15:31
ИМХО никто не мешает сначала получить из хранилища потом выгнать потом обновится
3 unregistered
 
28.10.19
15:46
Наведите порядок.
Бардак автоматизировать невозможно.

>> много правок исправляется по горячему

Проблема в головах. Просто напишите большими буквами на стене кабинета: "Так делать нельзя! НИКОГДА!".
Приучите пользователя к формулировке: "Исправление будет доступно в рабочей базе данных завтра." Вы удивитесь, узнав, что в 99.99% случаев от того, что вы не включили исправление немедленно и прямо сейчас в продуктив, не происходит ровным счётом ничего. Оставшийся 0.01% случается раз в год (а то и реже) и вполне решается вручную.

>> "Пользователь уже аутентифицирован в хранилище".

После того, как с конфигуратором продуктивной базы перестанут работать напрямую, проблема решиться.

В идеале вообще хранилище боевой базы должно быть отдельное. К этому хранилищу только два подключения - собственно сама боевая база и база, из которой накатываются очередные (уже готовые и протестированные) обновления. Ответственный за сборку подключается к хранилищу из этой базы, накатывает новую сборку, включающую все исправления сделанные за день, помещает в хранилище. Регламент ночью производит обновление конфигурации боевой базы из хранилища.
Сама разработка с толпою программистов должна производиться в отдельном(ых) храниалище(ах).

Всё остальное - безуспешные попытки обмануть самих себя.