Расследование причин подвисания фонового


#1

Ситуация: скрипт по автообновлению не может обновить конфигурацию БД по причине:

Ошибка разделенного доступа к информационной базе
Активные сеансы и соединения:
компьютер: app2-main, соединение: 6445, начато: 09.08.2018 в 15:24:27, приложение: Фоновое задание

Висит соединение фонового.
Сеанс фонового убился несколько часов назад до обновления. В ТЖ

34:44.787000-0,EXCP,4,process=rphost,p:processName=tb,t:clientID=633,t:applicationName=BackgroundJob,t:computerName=app2-main,t:connectID=6445,SessionID=24905,Usr=DefUser,Exception=95c658d1-d3d5-4ea9-8a81-1bf820fea4a8,Descr=‘src\RemoteCallListenerImpl.cpp(3455):
95c658d1-d3d5-4ea9-8a81-1bf820fea4a8: Сеанс работы завершен администратором.’

41:26.214010-430973944,CONN,6,process=rphost,p:processName=tb,t:clientID=633,t:applicationName=BackgroundJob,t:computerName=app2-main,t:connectID=6445,SessionID=24905,Usr=DefUser,ClientID=732,Txt=Outgoing connection closed

41:26.214020-798175015,CONN,6,process=rphost,p:processName=tb,t:clientID=633,t:applicationName=BackgroundJob,t:computerName=app2-main,t:connectID=6445,SessionID=24905,Usr=DefUser,ClientID=724,Txt=Outgoing connection closed

Вопрос: как расследовать, почему осталось висеть соединение? Если имеет значение: в коде, который выполняется ФЗ, юзается вк раббита.


#2

А на субд это соединение видно?


#3

Пока не знаю)


#4

Обычно нужно знать какое фоновое задание зависло - скорее всего оно у тебя длинное по реализации ()типа make world) но это ладно, у меня рефлексия

Напрямую юзается ? Если напрямую - то я бы рекомендовал каждые 120 секунд делать реконект (пересоздавать объект соединения). Так будет быстрей и гранулярней (хотя и костыль).

Но в целом для расследования - нужно знать контекст исполнения фонового задания, что онО делает и сколько по времени.