我正在尝试Requests_Threads库,我已经得到了它以我想要的方式将数据返回给我的地方,但它给了我一个Process finished with exit code 0
并在前进之前退出。有人使用这个库并想出来了吗?
from requests_threads import AsyncSession
import asyncio
class apis:
def __init__(self):
self.session=AsyncSession()
self.main_out=self.session.run(self.main)
print('still alive')
async def main(self):
rs = []
for _ in range(100):
rs.append(await self.sub('thing'))
return[ (x[0].json(),x[1]) for x in rs]
async def sub(self,key):
return await self.session.get('http://httpbin.org/get'),key
答案 0 :(得分:0)
所以,我最终得到了一个使用aiohttp的解决方案
1000使用标准请求需要花费2分4秒,使用aiohttp需要56秒,或者减少一点点超过54%。
import aiohttp
import asyncio
from datetime import datetime
class apis:
def __init__(self):
self.session=aiohttp.ClientSession()
self.loop=asyncio.get_event_loop()
self.main_out=self.loop.run_until_complete(self.main())
async def main(self):
rs = []
for _ in range(1000):
rs.append(await self.loop.create_task(self.sub('foo')))
return rs
async def sub(self,key):
return await self.session.get('http://httpbin.org/get'),key,datetime.now()