Skip to main content

Asyncio background tasks.

Project description

buildstatus coverage

Asyncio background tasks

Asyncio background tasks in Python 3.7 and later.

Run CPU intensive long running tasks without blocking the asyncio loop.

Project homepage: https://github.com/eerimoq/asyncbg

Documentation: https://asyncbg.readthedocs.org/en/latest

Installation

pip install asyncbg

Examples

There are plenty of examples in the examples folder.

Default worker

Call work() in the default worker thread.

import asyncio
import asyncbg

def work():
    pass

asyncio.run(asyncbg.call(work))

Worker pool

Create a worker pool with two worker threads, and call work() three times in it (up to two callbacks called in parallel).

import asyncio
import asyncbg

def work():
    pass

async def main():
    pool = asyncbg.WorkerPool(2)
    await asyncio.gather(pool.call(work),
                         pool.call(work),
                         pool.call(work))

asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asyncbg-0.3.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

asyncbg-0.3.0-py2.py3-none-any.whl (3.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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