Skip to main content

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

Project description

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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page