Size: a a a

2020 June 24

T

Tishka17 in Python Flask
хм
источник

T

Tishka17 in Python Flask
возможно я плохо знаю как работают такие апдейты
источник

T

Tishka17 in Python Flask
это что за база?
источник

MB

Max Block in Python Flask
PostgreSQL 12
источник

T

Tishka17 in Python Flask
хм.
источник

T

Tishka17 in Python Flask
ну выглядит как будто в другом потоке ты пытаешься эти же Tx обновить
источник

T

Tishka17 in Python Flask
но в другом порядке
источник

T

Tishka17 in Python Flask
но странно, я думал он это съесть должен без дэдлока
источник

MB

Max Block in Python Flask
Да, точно в этом дело. Т.е. реально есть возможность что в одно и тоже время в разных потоках одни и теже tx строки в базе пытаются обновляться. Вот только кто именно придумал тут делать DeadLock. Мне как раз ничего лочить не надо, обновите по принципу кто последний тот и прав.

Но это уже скорее всего не алхимия. Это или сама PostgreSQL не дает такие длительные апдейты делать, или же psycopg2.
источник

T

Tishka17 in Python Flask
так лочится на время выполнения запроса
источник

T

Tishka17 in Python Flask
сам постгрес
источник

T

Tishka17 in Python Flask
щас
источник

T

Tishka17 in Python Flask
Max Block
Да, точно в этом дело. Т.е. реально есть возможность что в одно и тоже время в разных потоках одни и теже tx строки в базе пытаются обновляться. Вот только кто именно придумал тут делать DeadLock. Мне как раз ничего лочить не надо, обновите по принципу кто последний тот и прав.

Но это уже скорее всего не алхимия. Это или сама PostgreSQL не дает такие длительные апдейты делать, или же psycopg2.
источник

MB

Max Block in Python Flask
Да, оно. Благодарю!
источник

T

Tishka17 in Python Flask
хз как починить только
источник

T

Tishka17 in Python Flask
кроме как раделения на отдельные запросы
источник

MB

Max Block in Python Flask
Tishka17
хз как починить только
В моем случае мне можно этот метод просто аннотировать как @synchronized, т..е. просто сделать чтобы такой ситуации и не было. В этом моем случае мне просто не важно что если два запроса пройдут не параллельно, а чуть подождут в очереди.

Ну а если нужна реально параллельность, то надо просто избегать туплов в postgresql в таких запросах. Т.е. заменить этот один запрос с IN () на балк запросы на апдейт.
источник

VA

Vlad Artyukh in Python Flask
Какую библу лучше использовать для визуализации данных на сайте?
источник

АП

Агент Печенька... in Python Flask
Vlad Artyukh
Какую библу лучше использовать для визуализации данных на сайте?
seaborn
источник

T

Tishka17 in Python Flask
Vlad Artyukh
Какую библу лучше использовать для визуализации данных на сайте?
что-нибудь в чате по js можно спросить
источник