异步pymongo错误“附加到其他循环”

2024-09-30 03:24:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到这个运行时错误“附加到另一个循环” 编辑:我已经在使用异步电机驱动器

dBase.py 用于与数据库交互这有一个功能

async def getChatids():
      data = list()
      async for document in Collection.find({}, {'chatid':1, '_id':0}):
              data.append(document['chatid'])
      return data

使用下面的代码在dBase.py中进行测试时,上述函数运行良好

async def main():
     ids = await getChatids()
     print(ids)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

main.pybot.py中运行时(使用aigram向bot发送电报)

main.py 主运行代码

async def main():
     await asyncio.gather(
          bot.dp.start_polling(),
          scan() #function to scan api 
          )
loop = asyncio.get_event_loop()
loop.run_until_complete(main())

scan函数调用下面的函数

async def parseData(data):
        if(some conditon related to data):
           await bot.broadcast("hello broacasting")

广播功能

async def broadcast(data):  
ids = await getChatids() 
for id in ids:
    await bot.send_message(id,data)

在尝试了很多之后,我无法找到问题所在。任何帮助都将不胜感激


Tags: py功能loopasyncioididsdataasync
1条回答
网友
1楼 · 发布于 2024-09-30 03:24:47

显然下面这行代码 asyncio.set\u事件\u循环\u策略(asyncio.WindowsSelectorEventLoopPolicy()) 是什么导致了这个问题

相关问题 更多 >

    热门问题