Имя: Пароль:
1C
 
Как без ЦУПа и Гилева выявить какой пользователь блокирует таблицу
0 ИС-2
 
naïve
30.07.18
13:23
есть механизм для отправки сообщений в телеграмм в отложенном режиме.

При определенном действии добавляется "заказ" на отправку и робот каждые 5 секунд пробует отправить сообщение.

Стали вылетать транзакции. Код уже несколько месяцев не менялся. И не понятно, что блокирует.


            МенЗап = РегистрыСведений._СообщенияДляОтправкиВТелеграмм.СоздатьМенеджерЗаписи();
            ЗаполнитьЗначенияСвойств(МенЗап,Выборка); // выборка это значения полей "заказа" на отправку в телеграмм
            МенЗап._ИДСообщенияТелеграмм = СокрЛП(Выборка._ИДСообщенияТелеграмм + " " + _ИДСообщенияТелеграмм);
            Если Найти(_ИДСообщенияТелеграмм,"ошибка") = 0 Тогда
                МенЗап.ДатаОтправки = ТекущаяДата();
            КонецЕсли;
            
            // тут вылетает ошиба на блокировку транзакция
                МенЗап.Записать();
1 triviumfan
 
30.07.18
13:48
каждые 5 секунд???
2 H A D G E H O G s
 
30.07.18
13:49
Роскомнадзор.
3 Вафель
 
30.07.18
13:51
(2) поьзоваться то не запрещено )))
4 antgrom
 
30.07.18
13:54
(0) ЖР. В нём записи о начале транзакции и о завершении транзакции. В т.ч. об успешных. Смотришь по каждому пользователю - когда было начало и когда конец. Если у кого то период между началом и завершением большой - он и тормозил остальных за этот период.
5 H A D G E H O G s
 
30.07.18
13:55
Есть а пути - тупо посмотреть на текст ошибки блокировки, убедиться, что это 1с, и идти разбираться с роботом, нуахерли он такой дерзкий.

Ну или собрать ТЖ с TLocks и duration ну пусть будет дольше 10 секунд.