Есть тг бот на aiogram в связке aiosqlite и selenium, столкнулся с проблемой при масштабировании
При работе более 20 браузеров, начинает спамить эксепшен database is locked
Что наглухо кладет самого бота, и начинается пропуск заданий.
Локализировал проблему, но не могу понять как решить, в сухом остатке есть около 20 потоков которые обращаются к бд около 2х -3х раз в секунду.
Вот сам код апдейта:
async def update_balance.(rate: float, account_id: int):
try:
db = await aiosqlite.connect('ozon.db')
await db.execute('''
UPDATE balance, accounts
SET balance.user_balance - {0}, accounts.cards + 1
WHERE accounts.account_id = {1}
AND balance.user_id = accoounts.user_id'''.format(2*rate, account_id)
)
except aiosqlite.DatabaseError as e:
logging.error('Ошибка при записи баланса', e)
await db.rollback()
finally:
await db.close()