quesadilla
quesadilla is an elegant background task queue for the more civilized age.
Example usage
First, install quesadilla: pip install quesadilla==0.5.0.
tasks.py:
import logging
import random
from quesadilla.connectors.in_memory import ThreadSafeInMemoryConnector
from quesadilla.core import TaskNamespace, async_task, sync_task
logging.basicConfig(level=logging.INFO)
namespace = TaskNamespace("tasks", connector=ThreadSafeInMemoryConnector())
queue = namespace.queue("queue")
@sync_task(queue)
def simple_task(i: int) -> bool:
return i == 0
@async_task(queue)
async def simple_atask(i: int) -> bool:
return i == 0
# simulate someone adding jobs to the queue
# queue is preloaded with 200 tasks
for _ in range(100):
simple_task.queue(random.choice((0, 1)))
simple_atask.queue(random.choice((0, 1)))
Run with python -m quesadilla runners listener tasks::queue.
Exit with SIGINT (Ctrl + C) or SIGTERM.
Roadmap
- support for retrying failed tasks
- support for cronjobs and heartbeat
- support for task priority
- support for delayed execution
- documentation
- a real-world connector! (most likely PostgreSQL with
psycopgandSQLAlchemy 2.0)
Release files for quesadilla 0.5.0.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quesadilla-0.5.0.post1.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quesadilla-0.5.0.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.3 kB
Release files / quesadilla-0.5.0.post1.tar.gz
| Download URL | quesadilla-0.5.0.post1.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93705616409babda13498692676e1460d9d3019505f7ff75c5f19dc0e12b39a4
|
|
BLAKE2b-256 checksum How to use checksums |
dc4a1810351beaaf9db56e49056c67a11b91775677d0c2d6249fc76f31a94c53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / quesadilla-0.5.0.post1-py3-none-any.whl
| Download URL | quesadilla-0.5.0.post1-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bde0044e186d10ef5f214d7c5eda38829c58313a73c865eb167adb6a27bd2dcc
|
|
BLAKE2b-256 checksum How to use checksums |
79cd6509cb275e52a219a3b2b5daaca4097559bcbac293b82b276201c12b50c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|