Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 10, 2008 14:45:42

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

приложение создаёт несколько потоков. в потоках выполняются обращения к БД
для обращений к БД создаётся несколько курсоров. курсоры лежат в списке.

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

хотелось бы иметь проверку, - если курсор свободен, то используем его,
если занят, то идти проверять следующий курсор.



Офлайн

#2 Ноя. 10, 2008 15:51:11

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

сделать списки занятых и свободных курсоров?



Офлайн

#3 Ноя. 10, 2008 15:52:05

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

Создай для каждого курсора Lock и используй его неблокирующую проверку.



Офлайн

#4 Сен. 28, 2010 13:30:28

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

Вопрос был решён по-другому: создан список, из которого по необходимости изымается курсор.
Когда курсор выполнил запрос, то он возращается в список.



Офлайн

#5 Сен. 28, 2010 16:25:01

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

работа со списком локом прикрыта? Или вы проверили код и убедились, что все происходит атомарно?



Офлайн

#6 Сен. 29, 2010 06:15:55

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

MySQLdb: определить, обрабатывает ли cursor запрос в настоящий момент

Скажите, а зачем держать пул курсоров? Создание курсора тяжелая операция? Просто про пул подключений знаю, а про пул курсоров первый раз слышу.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version