Django Как справиться с блокировкой базы данных

У меня есть две функции, periodic_signals() и update_choice(), и я использую postgres. update_choice() вызывается, как только пользователи делают новый выбор и обновляют базу данных.

periodic_signals() вызывается каждые 0,1 с с помощью Threading.timer и считывает выбор пользователей из базы данных, выполняет некоторые действия, затем отправляет сигналы обратно пользователям и отображает их в режиме реального времени.

Когда periodic_signals() вызывается каждые 1 секунду, у меня не возникает никаких проблем. Когда periodic_signals() вызывается каждые 0,1, все, что я вызываю update_choice(), в моем графике приостанавливается, и я вижу, что время выполнения update_choice() увеличивается в 10 раз.

Это потому, что я читаю и записываю в одну и ту же строку почти одновременно, что приводит к блокировке базы данных? Как я могу это решить, кроме как улучшить производительность этих двух функций (на данный момент обе функции занимают около 0,005-0,02 секунды в зависимости от количества пользователей)?

Вернуться на верх