Litestar Queues
Litestar Queues lets a Litestar application persist work, run it in a worker, and inspect the result. Use it for work that should outlive the request that started it: sending email, importing files, refreshing reports, or calling a slow service.
Quickstart
Install the package:
pip install litestar-queues
Create app.py:
from litestar import Litestar, post
from litestar.di import NamedDependency
from litestar_queues import QueueConfig, QueuePlugin, QueueService, task
@task("accounts.sync", queue="accounts", timeout=30)
async def sync_account(account_id: str) -> dict[str, str]:
return {"account_id": account_id, "status": "synced"}
@post("/accounts/{account_id:str}/sync")
async def create_sync_job(
account_id: str,
queue_service: NamedDependency[QueueService],
) -> dict[str, str]:
result = await queue_service.enqueue(sync_account, account_id)
return {"task_id": str(result.id), "status": result.status or "pending"}
app = Litestar(
route_handlers=[create_sync_job],
plugins=[QueuePlugin(config=QueueConfig())],
)
Run the application:
LITESTAR_APP=app:app litestar run --reload
Enqueue a task:
curl -X POST http://127.0.0.1:8000/accounts/acct-123/sync
The response contains a task ID and an initial status. QueueConfig() starts
one fresh queue-worker child for this litestar run invocation and shares a
private temporary SQLite file with it. No queue socket or port is exposed, and
the temporary queue is removed on normal shutdown; it is not durable across
server restarts.
Production boundary
Choose where tasks are stored separately from where they run. For durable deployments use a shared backend such as SQLSpec, Advanced Alchemy, Redis, or Valkey. Use standalone workers when the web app and task workers must scale separately. The process-local memory backend remains useful for inline tests or an explicitly single-ASGI-process worker. Cloud Run runs tasks; it does not store them.
Next steps
- Start here
- Understand the model
- Follow a how-to guide
- Choose backends
- Run an example
- Browse the API reference
Litestar Queues supports Python 3.10 through 3.14 and is licensed under MIT.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file litestar_queues-0.8.0.tar.gz.
File metadata
- Download URL: litestar_queues-0.8.0.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
218635d2bdc004fd2204f4c321db8421c64e7761c8379c21d53ea48d832aaeed
|
|
| MD5 |
b7aada4a25876a3f43f3524d67809bfe
|
|
| BLAKE2b-256 |
b801853197ab1a7d38564d0dfa99f3f63c49102d28fe2f1d67325d6d6996c3f3
|
Provenance
The following attestation bundles were made for litestar_queues-0.8.0.tar.gz:
Publisher:
publish.yml on cofin/litestar-queues
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
litestar_queues-0.8.0.tar.gz -
Subject digest:
218635d2bdc004fd2204f4c321db8421c64e7761c8379c21d53ea48d832aaeed - Sigstore transparency entry: 2336453338
- Sigstore integration time:
-
Permalink:
cofin/litestar-queues@5da35a70311d11b0c1010c16a1d75550fa719c50 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/cofin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5da35a70311d11b0c1010c16a1d75550fa719c50 -
Trigger Event:
release
-
Statement type:
File details
Details for the file litestar_queues-0.8.0-py3-none-any.whl.
File metadata
- Download URL: litestar_queues-0.8.0-py3-none-any.whl
- Upload date:
- Size: 326.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ece402df3f3c100b5115e17d9c2f24d7abe6167a19eee55426d8ea17d47285f
|
|
| MD5 |
f8aab22dbcaf9c5d43b0496ff5277ea1
|
|
| BLAKE2b-256 |
f943dce5c400e517fc21597082295ec6a968c873a2ae39211251c279ca765996
|
Provenance
The following attestation bundles were made for litestar_queues-0.8.0-py3-none-any.whl:
Publisher:
publish.yml on cofin/litestar-queues
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
litestar_queues-0.8.0-py3-none-any.whl -
Subject digest:
8ece402df3f3c100b5115e17d9c2f24d7abe6167a19eee55426d8ea17d47285f - Sigstore transparency entry: 2336453385
- Sigstore integration time:
-
Permalink:
cofin/litestar-queues@5da35a70311d11b0c1010c16a1d75550fa719c50 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/cofin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5da35a70311d11b0c1010c16a1d75550fa719c50 -
Trigger Event:
release
-
Statement type: