Блокировки в 1С

На главную страницу форума

Страницы: 1 |

14.08.2017 11:07:26
* 0 * bvn13 : Совет нужен.

Делаю автоочистку РС регламентым заданием.
В справочнике-настройках пишу имя регистра, количество записей на транзакцию, плюс - условия на выборку самых старых.
В регламенте составляю запрос из того, что нашел в настройках + все измерения по метаданным регистра.
Цикл по выборке, перед циклом - НачатьТранзакцию, в теле - проверка на количество записей в транзакции, если превысили из настроек - зафиксировать и начать новую транзакцию. После цикла - проверка на активность транзакции с ее фиксацией.

Все бы хорошо. Но! Думаю, что нужно добавить блокировок, чтобы не словить дедлок.

Вопрос - как? Как правильно поставить блокировки в такой ситуации? Из источника? Кто будет источником?
14.08.2017 11:33:04
* 1 * Дуб : Вопрос прям к месту...
Тут только Бронетёмкин сказал бы что-нить толковое...
14.08.2017 11:37:34 Обращения на текущей странице: -3-
* 2 * sf : поставить блокировку, чтобы не словить дедлок.... прикольно.
от кого ты конкурентную блокировку ждешь? от действия пользователя или второго регламентного задания, когда не завершено предыдущее?
14.08.2017 11:43:32 Обращения на текущей странице: -4-
* 3 * bvn13 : (2) регламентов в базе - допизды. В РС могут писать все и вся. Если мое регламентное со своим удалением заблокирует всю таблицу регистра, то будут тормоза. Да, дедлоки только в том случае, если я будут удалять записи в другом порядке, нежели кто-то другой их писать.
14.08.2017 11:53:14 Обращения на текущей странице: -5-
* 4 * sf : (3) если речь про управляемые блокировки, то ставить нужно, чтобы грязного чтения избежать. заодно при попытке блокировке у тебя будет проверка на конкурентную запись
если про автоматическую, то зависит от размера пакета транзакции и базы данных в первую очередь.
14.08.2017 12:00:08 Обращения на текущей странице: -6-
* 5 * bvn13 : (4) управляемые, конечно.

Сделал уже. Выборку (для изменения) читаю порциями в таблицу значений, порцию отправляю на удаление. Перед удалением - блокировка из источника таблица значений, цикл по ТЗ, удаление.
14.08.2017 12:24:23 Обращения на текущей странице: -7-
* 6 * sf : (5) >> Выборку (для изменения)
у тебя запрос в транзакции что ли? если да, зачем блокировки?
14.08.2017 12:56:12 Обращения на текущей странице: -8-
* 7 * bvn13 : (6) нет, не в транзакции. подозреваю, что ДЛЯ ИЗМЕНЕНИЯ не нужно было ставить.
14.08.2017 12:57:38
* 8 * sf : (7) если запрос не в транзакции, то хоть ставь, хоть не ставь, системе на него поровну.

Страницы: 1 |

На главную страницу форума

  Зарегистрироваться

Дубовый форум ©