An open API service indexing awesome lists of open source software.

https://github.com/darkarp/asynchelper


https://github.com/darkarp/asynchelper

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

asynchelper
===========

.. image:: https://img.shields.io/pypi/v/asynchelper.svg
:target: https://pypi.python.org/pypi/asynchelper
:alt: Latest PyPI version

Allows execution of unlimited number of asynchronous tasks while limiting the amount of active concurrent ones.

Usage
-----

There are only two functions (for now):
* `asynchelper.TaskExecutor.map(task_generator: Iterable[callable], workers: Union(int, None) = 128)`
* `task_generator` can be any iterable which holds (or generates) coroutines.
* `workers` is the maximum limit of active tasks concurrently. `None` for no limit.
* This will keep pushing tasks in the iterable until it's fully consumed.
* `asynchelper.TaskExecutor.forever(task: callable, args: Iterable = [], workers: Union(int, None) = 128)`
* `task` is an async funtion to create a couroutine from
* `args` is an iterable of arguments to pass to `task`
* `workers` is the maximum limit of active tasks concurrently. `None` for no limit
* This will keep pushing the `task(*args)`, running them forever with a limit of `workers` active tasks at any moment.

-------

`asynchelper` was written by `Mario Nascimento `_.