Skip to main content

Donald is here

Project description

Donald – A simple task engine for Asyncio.

The main goal for Donald to run async/sync code without blocking main loop.

Donald supports synchronous and asynchronous paradigms. The package is running coroutines and functions in multi loops. Donald could run periodic tasks and listen AMQP queues.

Build Status Coverals Version Downloads

Requirements

  • python 3.3+

Installation

Donald should be installed using pip:

pip install donald

Usage

From shell:

$ donald --help

From synchronous python code:

donald = Donald()
donald.start()

donald.submit(<coro or function>)
donald.schedule(<seconds>, <coro or function>)

From asynchronous python code:

donald = Donald()

await donald.start()
result = await donald.submit(<coro or function>)
await donald.schedule(<seconds>, <coro or function>)

Listen AMQP

AMQP:

donald = Donald()

await donald.start()

# Send task to queue
await donald.queue.start(False)
await donald.queue.submit(<coro or func>, *args, **kwargs)

# Listen tasks
await donald.queue.listen()
await donald.listen(<AMQP URL>)

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/donald/issues

Contributing

Development of starter happens at github: https://github.com/klen/donald

Contributors

  • klen (Kirill Klenov)

License

Licensed under a BSD license.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

Donald-0.0.17.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

Donald-0.0.17-py2.py3-none-any.whl (10.1 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