|
Узнать, заблокированы ли записи в системе | ☑ | ||
---|---|---|---|---|
0
alexshape
12.04.19
✎
11:31
|
Привет всем. Стоит такая задача: есть реестр записей в регистре сведений, по которым необходимо отправить по вебсервису данные. Но возможна такая ситуация, что могут работать два регламентных задания. Как ГРАМОТНО сделать так, чтобы они не отправляли эти данные повторно.
Сейчас я сделал так: Блокирую запись перед отправкой, при успешной отправке разблокирую, но для второго РЗ проверка, заблокирован ли объект занимает продолжительное время, 20 секунд. Следовательно этот способ не подходит |
|||
1
Галахад
гуру
12.04.19
✎
11:34
|
План обмена?
|
|||
2
alexshape
12.04.19
✎
11:45
|
(1) неа, данные хранятся в регистре сведений, регламентное задание подтягивает от туда и посылает через вебсервис.
|
|||
3
D_E_S_131
12.04.19
✎
12:02
|
Может не нужно несколько регл заданий на одни и те же данные "натравлять"?
|
|||
4
alexshape
12.04.19
✎
12:09
|
(3) Как бы да, но не исключено
|
|||
5
catena
12.04.19
✎
12:23
|
(4)Проверять при запуске рз, если такое же рз уже запущено, завершаться?
|
|||
6
catena
12.04.19
✎
12:23
|
(3)А если хочется обрабатывать в несколько потоков?
|
|||
7
azernot
12.04.19
✎
12:24
|
(0) Могу предложить такую методику:
Организуется второй регистр "ЗаписиВОТправке" с дополнительным измерением "ID" - ключ регламентного (фонового) задания. Регламентное задание в транзакции берёт записи из основного регистра, копирует их в регистр "ЗаписиВОТправке" со своим ID, удаляет записи в регистре, фиксирует транзакцию. В другой транзакции отправляет записи из регистра "ЗаписиВОТправке" со своим ID, удаляет записи в регистре "ЗаписиВОТправке" со своим ID, фиксирует транзакцию. И ещё, перед началом работы фонового задания, проверяются записи в регистре "ЗаписиВОТправке" где ID не в списке ключей активных фоновых заданий. Т.е. поиск записей, которые не были по какой-то причине отправлены, а фоновое задание уже не активно. Такие записи переносятся в основной регистр. |
|||
8
alexshape
12.04.19
✎
12:39
|
(7) Может быть, но плодить лишние объекты не хочется, может есть способ как то по проще?
|
|||
9
FIXXXL
12.04.19
✎
18:18
|
(2) ну так сделай план или узел на подходящем плане
поклади туда наборы и пока кто-то читает изменения узла - эта информация жестко заблокирована |
|||
10
mistеr
12.04.19
✎
20:35
|
(7) Этот метод ненадежен. Лучше использовать платформенные механизмы. То есть планы обмена.
|
|||
11
Сияющий в темноте
12.04.19
✎
22:58
|
а если блокировать не запись,а накладывать управляемую блокировку и у регистра завести признак:готов к отправке,отправляется,отправлен?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |