SHARE
TWEET

123

a guest Aug 19th, 2019 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from time import time
  2.  
  3. import aiohttp
  4. import asyncio
  5.  
  6. semaphore = asyncio.Semaphore(50)
  7. q = []
  8.  
  9.  
  10. async def get_reputaion(steamid):
  11.     async with aiohttp.ClientSession() as s:
  12.         res = await s.post(f'http://steamrep.com/api/beta4/reputation/{steamid}/?json=1')
  13.         data = await res.json()
  14.         status = data['steamrep']['reputation']['summary']
  15.         q.append(status)
  16.  
  17.  
  18. async def semaphored_coro(coro):
  19.     async with semaphore:
  20.         return await coro
  21.  
  22.  
  23. async def main():
  24.     # create 1k tasks
  25.     tasks = [asyncio.create_task(semaphored_coro(get_reputaion('76561198047255985'))) for _ in range(1000)]
  26.     await asyncio.gather(*tasks)
  27.  
  28.  
  29. if __name__ == '__main__':
  30.     start = time()
  31.     loop = asyncio.get_event_loop()
  32.     try:
  33.         loop.run_until_complete(main())
  34.     finally:
  35.         loop.run_until_complete(loop.shutdown_asyncgens())
  36.         loop.close()
  37.         end = time()
  38.         print(f'time = {end - start}')
  39.         print(q.count('none'))
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top