17.09.2012, 11:33 | #1 |
Участник
|
Процесс обработки записей многие-к-одному
Имею задачу осуществить обработку файла импорта. Он представляет собой "плоский" файл с транзакциями пользователей.В нем есть три группы направлений обработки, суть которых в создании( или обновлении) записей. Т.е. осуществляется обработка один-к-одному. Удается взаимно связывать создаваемые записи с записями транзакций. С этим все хорошо.
Сложность возникла на этапе подсчитывания записей, которые об'единены принадлежностью к какой-то группе. Обработка осуществлена следующим образом: При вставке з таблицу транзакций создается (или изменяется) запись в некоей сущности "Активностей Потребителя", каждая такая Активность берется из списка зарегистрированных активностей, каждая из которых содержит поле счетчика. По логике, каждая "Активность Потребителя" должна приращивать счетчик активностей в списке тех самых зарегистрированных активностей. Для этого я создал два процесса, - на создание и на изменение сущности "Активность Потребителя", в которой и попытался осуществить приращение счетчика в активности из списка, на которую указывает "Активность Потребителя". Приращение осуществил стандартно: "Увеличить на" {1}. Так вот первая запись подсчитывается нормально, а потом начинается чехарда - что-то подсчитывается, а бальшинство процессов застопоряются из-за SQL-ошибки. Я уже и статус для записи вводил, чтобы обрабатывать запись в зависимости от состояния - "Занято"-"Свободно" - на результат это принципиально не влияет, - снова одна-две записи подсчитываются, другие выпадают с ошибками, а третьи - видно, что механизм статуса не срабатывает, - между шагами одного процесса успевают сработать другие процессы, так что в общем получается какая-то чехарда. Фантазии уже не хватает для того, чтобы разрулить ситуацию ... Help please. Последний раз редактировалось Iwa; 17.09.2012 в 11:40. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|