FAQ¶
Can I use Pydantic v1?¶
No. queuebridge requires Pydantic v2 (>=2.5).
Do I still need pydantic=True on Celery tasks?¶
Strongly recommended. queuebridge serializes models on enqueue; pydantic=True validates them on the worker. They solve different problems.
Can I pass model_dump() dicts instead of models?¶
Yes. The worker still validates with pydantic=True. Passing models directly is preferred because nested UUID/datetime types are handled consistently.
Why does ar.get() return a dict?¶
Celery does not know your return type on the client. Use:
typed_result(ar, OrderResult).get()
Will you monkey-patch AsyncResult.get()?¶
No. Global patching is unsafe in apps with multiple Celery apps or mixed code. typed_result() is explicit and type-safe.
What about task chords and chains?¶
Not officially supported in v0.1. Nested signatures may need manual encoding in edge cases. Chord/chain support is on the roadmap.
Can I use pickle?¶
Not as the default wire format. Pickle is out of scope for v0.1. An optional extra may be added later.
How do I test without Redis?¶
Celery:
task_always_eager=TrueDramatiq:
StubBroker+WorkerScript:
examples/smoke_test_complex.py
How do I publish a new version?¶
Bump
versioninpyproject.tomlandqueuebridge.__version__Tag
v0.x.xand pushGitHub Actions publishes to PyPI (trusted publishing)
Where is the documentation hosted?¶
Build locally with pip install -e ".[docs]" && cd docs && make html.
Host on Read the Docs using the included .readthedocs.yaml.