vercel-dramatiq-bundle
This is a version of vercel-dramatiq with third-party dependencies bundled. For normal use, install the unbundled vercel-dramatiq package instead: https://pypi.org/project/vercel-dramatiq/
vercel-dramatiq
Dramatiq broker backed by Vercel Queue Service.
# tasks.py
import dramatiq
from vercel.integrations.dramatiq import VercelQueueBroker
broker = VercelQueueBroker()
dramatiq.set_broker(broker)
@dramatiq.actor
def send_email(user_id: str) -> None: ...
Constructing the broker explicitly is the recommended pattern: it always takes effect and the broker options are visible at the construction site. To store actor results in Vercel Runtime Cache, add the results middleware:
from dramatiq.results import Results
from vercel.integrations.dramatiq import VercelRuntimeCacheBackend
broker.add_middleware(Results(backend=VercelRuntimeCacheBackend()))
Alternatively, install_vercel_dramatiq_integration() sets Dramatiq's global
broker to a default VercelQueueBroker with the results middleware when no
broker has been configured yet. Note that this is a no-op once a global broker
exists, so broker options passed to the installer do not apply in environments
that install the integration first (Vercel functions do).
The broker uses push delivery when VERCEL is truthy in the environment and
poll delivery otherwise. Pass poll=False or poll=True to
VercelQueueBroker(...) to force a mode.
For Vercel push delivery, declare a module that exposes the broker as a queue
subscriber in pyproject.toml:
# worker.py
# Importing tasks declares the actors' queues on the broker.
from tasks import broker
__all__ = ["broker"]
[[tool.vercel.subscribers]]
entrypoint = "worker:broker"
The Vercel build introspects every queue declared on the broker and compiles
the subscriber into a queue-triggered function. That includes each queue's
Dramatiq delay queue: the default queue maps to both the default topic and
the sanitized default_DDQ delay topic, and retries and delayed messages are
delivered through the delay queue topic.
Set VERCEL_DRAMATIQ_DEBUG=1 to enable debug logging for the integration and
Dramatiq worker loggers.
The package is standalone and depends on vercel-queue and Dramatiq.
Release files for vercel-dramatiq-bundle 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vercel_dramatiq_bundle-0.7.2.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vercel_dramatiq_bundle-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.9 kB
Release files / vercel_dramatiq_bundle-0.7.2.tar.gz
| Download URL | vercel_dramatiq_bundle-0.7.2.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e83ee105f7c71aa73cbb508b1688a2100aebf9c3e910369865cb5a8552a736b7
|
|
BLAKE2b-256 checksum How to use checksums |
93aa71fd9297bc2fff0da24c3e07d698396da70e69089f6a1342f9748a32ff51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / vercel_dramatiq_bundle-0.7.2-py3-none-any.whl
| Download URL | vercel_dramatiq_bundle-0.7.2-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a31603e84c02ec42dcad79a1405af40b2407c5a247aa971993b6f1650a114269
|
|
BLAKE2b-256 checksum How to use checksums |
f944704b323fd6bdde1ff700f0dbfc86b87d060c9ea1e5a3ce2072cf91453712
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|