2017-09-19 1 views
0

Requests_Threads 라이브러리를 시험해보고 싶습니다. 데이터를 원하는 방식으로 데이터를 반환하는 곳으로 가져 왔지만, Process finished with exit code 0을 제공하고 앞으로 나가기 전에 종료합니다. 이 라이브러리를 사용한 사람은 누구입니까?Requests_Threads 및 AsyncIO를 사용하여 실행 후 종료

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

그래서, 나는 그것을 56 초 또는 54 % 이상 약간의 감소를했다 aiohttp 사용하여 솔루션은 표준 요청 2 분 4 초 걸렸 사용됩니다

1000

을 aiohttp 사용으로 돌아가 셨습니다.

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() 
관련 문제