|
Зависшие сеансы на сервере 1С (postgresql) | ☑ | ||
---|---|---|---|---|
0
KrabCore
04.09.15
✎
16:27
|
Сильно не пинать, только учусь.
Что имеем: х64 сервер 1с, постгрискл от 1с (платформа и версия постгри последняя на сегодняшний день) На сервере крутятся 2 базы: БП 2 и ЗУП 2.5 Корп. Обе базы типовые, без доработок. По БП нареканий нет, работает нормально. С ЗУПом же ситуация печальная - периодически (в основном при проведении документов или расчетах) вылетают конфликты блокировок. разбирательство привело к тому что в данной базе создаются "пустые" сеансы, которые собственно блокируют базы. https://gyazo.com/9cc73d0abfd1b5125278dedd05579bc3 Из скриншота видно что к базе есть лишь 4 реальных подключения, и 7 пустых(зависших) подключений которые висят по несколько часов. Подскажите в чем может быть проблема, и в какую сторону копать? |
|||
1
KrabCore
04.09.15
✎
16:43
|
Апну
|
|||
2
KrabCore
04.09.15
✎
17:07
|
нид хелп, апну еще раз
|
|||
3
KrabCore
04.09.15
✎
17:42
|
последняя попытка всплыть тему и добиться ответа от многоуважаемых мистян
|
|||
4
cons74
04.09.15
✎
18:22
|
Откуда сенасы не скажу. Как решить - перезапускать рабочие процессы: сперва ставишь ему использование=нет. Потом когда память с него "уйдет" - можно "удалить".
Ну или в свойствах кластера перезапуск часто. Думаю, что многих мистян отпугнуло postgre в заголовке-хотя ни мой взгляд он тут не при чем. Да и пятница вечер... |
|||
5
rustemg
04.09.15
✎
18:30
|
Повесь на шедулер на Winodws машине выполнение этого скрипта vbs:
'имя пользователя 1С:Предприятия UserName = "Киилер" 'пароль пользователя 1С:Предприятия UserPass = "123321" 'имя сервера 1С ServerName = "server1c" BaseName = "base1c" Dim objFSO Dim objFile Dim LogFileName Dim Result 'Sub CloseConnection() Dim Connector, Agent, Cluster, WorkProcess, WorkProcessConnection, Base, Connections, i, CurrentConnection Dim BaseList Set Connector = CreateObject("V83.COMConnector") 'Селект текущего кластера серверов Set Agent = Connector.ConnectAgent(ServerName) Set Cluster = Agent.GetClusters()(0) Agent.Authenticate Cluster, "", "" 'Agent.Authenticate Cluster, UserName, UserPass MassBase = Agent.GetInfoBases(Cluster) For i = LBound(MassBase) To UBound(MassBase) Set Base = MassBase(i) 'MsgBox Base.Name If Base.Name = BaseName Then Sessions = Agent.GetInfoBaseSessions(Cluster, Base) For k = LBound(Sessions) To UBound(Sessions) Set ThisSession = Sessions(k) If ThisSession.AppID <> "COMConsole" And IsEmpty(ThisSession.process) Then Agent.TerminateSession Cluster, ThisSession 'MsgBox "User: " & ThisSession.UserName & " App ID: " + ThisSession.AppID End If Next Exit For End If Next 'End Sub 'CloseConnection() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |