You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do you use a PostgreSQL SaaS? No
the issue with a local PostgreSQL install?: No
Python version: 3.8
Platform: MacOS
Do you use pgbouncer?: No
Did you install asyncpg with pip?: Yes
If you built asyncpg locally, which version of Cython did you use?: -
Can the issue be reproduced under both asyncio and uvloop?: I dont know
There is some code abstraction coded with aiogram:
asyncdefcheck_rights(message: types.Message):
returnawaitbot['db_pool'].fetch_query('SELECT is_admin FROM users WHERE id = $1::varchar(30) and username = $2::varchar(30)',
str(message.chat.id), message.from_user.username)
@bot_dispatcher.message_handler(check_rights, commands=['add_admin'])asyncdefadd_admin(message: types.Message):
print('is_admin!')
That's how bot['db_pool'] is created:
asyncdefon_startup():
db=Database()
bot=Bot(token=token)
bot_dispatcher=Dispatcher(bot)
try:
awaitdb.setup_pool()
exceptasyncpg.exception.InvalidPasswordError:
logging.ERROR("Username or password if incorrect")
exit(-1)
else:
bot['db_pool'] =dbbot['getMeInfo'] =awaitbot.get_me()
print(awaitbot['db_pool'].test())
returnbot, bot_dispatcher
if__name__=="__main__":
print(f"[+] Bot started with username: {bot['getMeInfo'].username}")
executor.start_polling(bot_dispatcher, skip_updates=True)
I can't execute POOL methods, for example:
asyncdefcheck_rights(message: types.Message):
returnawaitbot['db_pool'].fetch_query('SELECT is_admin FROM users WHERE id = $1::varchar(30) and username = $2::varchar(30)',
str(message.chat.id), message.from_user.username)
Error trace:
Task exception was never retrieved
future: <Task finished name='Task-32' coro=<Dispatcher._process_polling_updates() done, defined at /Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/dispatcher.py:407> exception=InterfaceError('cannot perform operation: another operation is in progress')>
Traceback (most recent call last):
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/handler.py", line 116, in notify
response = await handler_obj.handler(*args, **partial_data)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/handler.py", line 107, in notify
data.update(await check_filters(handler_obj.filters, args))
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/filters/filters.py", line 72, in check_filters
f = await execute_filter(filter_, args)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/aiogram/dispatcher/filters/filters.py", line 56, in execute_filter
return await filter_.filter(*args, **filter_.kwargs)
File "__main__.py", line 65, in check_rights
return await bot['db_pool'].fetch_query('SELECT is_admin FROM users WHERE id = $1::varchar(30) and username = $2::varchar(30)',
File "/Users/riven/Desktop/Projects/botname/src/database.py", line 33, in fetch_query
return await connection.fetchval(query, *args)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/pool.py", line 993, in __aexit__
await self.pool.release(con)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/pool.py", line 867, in release
return await asyncio.shield(ch.release(timeout))
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/pool.py", line 224, in release
raise ex
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/pool.py", line 214, in release
await self._con.reset(timeout=budget)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/connection.py", line 1367, in reset
await self.execute(reset_query, timeout=timeout)
File "/Users/riven/Desktop/Projects/botname/src/venv/lib/python3.8/site-packages/asyncpg/connection.py", line 318, in execute
return await self._protocol.query(query, timeout)
File "asyncpg/protocol/protocol.pyx", line 323, in query
File "asyncpg/protocol/protocol.pyx", line 707, in asyncpg.protocol.protocol.BaseProtocol._check_state
asyncpg.exceptions._base.InterfaceError: cannot perform operation: another operation is in progress
cannot perform operation: another operation is in progress - Which one? I am doing only 1 request to database 0-o
The text was updated successfully, but these errors were encountered:
the issue with a local PostgreSQL install?: No
uvloop?: I dont know
There is some code abstraction coded with aiogram:
That's how
bot['db_pool']
is created:And database object as well:
Well if I am creating event loop like this:
And starting bot like this:
I can't execute POOL methods, for example:
Error trace:
cannot perform operation: another operation is in progress
- Which one? I am doing only 1 request to database 0-oThe text was updated successfully, but these errors were encountered: