Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [sqlachemy]Одновременный Select and Delete / 4 сообщений из 4, страница 1 из 1
20.11.2013, 17:35
    #38471613
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[sqlachemy]Одновременный Select and Delete
Ест несколько процессов которые переодически читают табличку Task, выбирают и удаляют запись. Код примерно такой:
Код: python
1.
2.
3.
4.
5.
6.
            db.session.execute('LOCK TABLE "Task"')
            query = db.session.query(models.Task).order_by(models.Task.ordr).limit(1)
            for row in query:
                task = row
                db.session.delete(row)
            db.session.commit()



LOCK пришлось поставить т к одна и та же запись могла попасть одновременно в несколько процессов. Есть ли более "правильное" решение без использования LOCK для таблицы ?
...
Рейтинг: 0 / 0
20.11.2013, 17:58
    #38471645
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[sqlachemy]Одновременный Select and Delete
транзакуции
...
Рейтинг: 0 / 0
20.11.2013, 18:15
    #38471677
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[sqlachemy]Одновременный Select and Delete
ScareCrow,

по моему маловато просто транзакций, на примере 2х потоков, нельзя гарантировать что

П1 считал запись
П2 считал запись(ту же !!)
П1 удалил
П2 не удалил

если ТС такая ситуация не страшна то можно и транзакцией
...
Рейтинг: 0 / 0
20.11.2013, 18:19
    #38471689
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[sqlachemy]Одновременный Select and Delete
ранзакуции

SQlachemy вроде бы автоматом открывает транзакцию ... Но ведь действительно при открытой транзакции не лочится таблица же таблица ?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [sqlachemy]Одновременный Select and Delete / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]