info: | Base asyncio script with support of threading and multiprocessing |
---|
pip install aioscript
from aiohttp import ClientSession, web
from aioscript import AbstractScript
class Script(AbstractScript):
def setup(self):
self.session = ClientSession(loop=self.loop)
async def close(self):
await self.session.close()
async def handle(self, url):
async with self.session.get(url) as response:
if response.status == web.HTTPOk.status_code:
print(response.url, 'Ok')
else:
print(response.url, 'Not ok')
async def populate(self):
urls = [
'https://www.python.org/',
'https://www.python.org/doc/',
'https://docs.python.org/3/',
'https://docs.python.org/3/library/concurrency.html',
'https://docs.python.org/3/library/asyncio.html',
'https://docs.python.org/3/library/asyncio-eventloop.html',
]
for url in urls:
yield url
if __name__ == '__main__':
Script().run()
python script.py --coroutines=10
Python 3.6+ is required
The library was donated by Ocean S.A.
Thanks to the company for contribution.