Текущий архив: 2003.07.14;
Скачать: CL | DM;
Вниз
FireBird Events Найти похожие ветки
← →
Fiend © (2003-06-20 15:01) [0]Здрасте Уважаемые!
Такая вот ситуация:
выполняется длительная ХП, около часа выполняется.
Так вот хотелось пользователю событиями сообщать о прогрессе завершенности задания, но к сожалению стандартный механизм поверг в шок. События отправляются клиенту только после commit для этой процедуры. Пытался осуществить получение прогресса путём записи в таблицу значений и осуществления "грязного чтения". Нифига! такого делать нельзя.
Как быть? возникла мысль сделать механизм общения клиента с помощью Named pipes.
Но хотелось бы узнать у профи ФБ, может есть всё же возможность использовать стандартные механизмы, не изобретая велосипед?!
← →
Johnmen © (2003-06-20 15:08) [1]Привет !
>только после commit
Это законно...
>осуществления "грязного чтения".
Не поддерживается IB и клонами...
Единственное решение - с помощью генераторов.
← →
Alexandr © (2003-06-20 15:09) [2]ну есть.
← →
Fiend © (2003-06-20 15:52) [3]То Johnmen:
Не спорю что законно в основном, но было бы просто замечательно управлять этим процессом, т.е. предоставить пирограммисту возможность управлять способом передачи сообщений. Но раз так нельзя то бес с ним.
Про генераторы не понял мысли. объясните
← →
Alexandr © (2003-06-20 15:56) [4]генераторы вне контекста транзакции находятся.
А значит, меняй их в процедуре и тогда на клиенте сразу увидишь... прям как dirty Read
← →
Johnmen © (2003-06-20 16:01) [5]>Fiend © (20.06.03 15:52)
В процессе выполнения процедуры манипулировать значениями специально созданных генраторов. Тогда клиентский процесс будет видеть изменение из значений.
Подробности - как всегда на ibase.ru :)
← →
Fiend © (2003-06-20 16:02) [6]Понял. Спасибо!!!
Страницы: 1 вся ветка
Текущий архив: 2003.07.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.015 c