Skip to content

Abstract asynchronous with threading and multiprocessing

License

Notifications You must be signed in to change notification settings

eteamin/aioscript

 
 

Repository files navigation

aioscript

info:Base asyncio script with support of threading and multiprocessing
https://travis-ci.org/wikibusiness/aioscript.svg?branch=master

Installation

pip install aioscript

Usage

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

Thanks

The library was donated by Ocean S.A.

Thanks to the company for contribution.

About

Abstract asynchronous with threading and multiprocessing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%