From 5da1e91cb002129d39b5ade7785991da4233fe96 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 22 Mar 2026 09:01:12 +0530 Subject: [PATCH 1/2] fix: flush stdout on prefork child shutdown --- py_src/taskito/prefork/child.py | 1 + 1 file changed, 1 insertion(+) diff --git a/py_src/taskito/prefork/child.py b/py_src/taskito/prefork/child.py index cde0d9f..87816a9 100644 --- a/py_src/taskito/prefork/child.py +++ b/py_src/taskito/prefork/child.py @@ -171,6 +171,7 @@ def main() -> None: msg = json.loads(line) if msg.get("type") == "shutdown": + sys.stdout.flush() break if msg.get("type") == "job": From d356115112ea89bd2f84a4b81464156168f72595 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Sun, 22 Mar 2026 09:01:19 +0530 Subject: [PATCH 2/2] docs: add composition docstring to app.py --- py_src/taskito/app.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/py_src/taskito/app.py b/py_src/taskito/app.py index d6f8d90..6a75d19 100644 --- a/py_src/taskito/app.py +++ b/py_src/taskito/app.py @@ -1,4 +1,19 @@ -"""Main Queue class and @task decorator.""" +"""Main Queue class and @task decorator. + +The Queue class is composed from multiple mixins for organization: + +- ``QueueInspectionMixin`` (mixins.py) — read-only inspection, stats, queries +- ``QueueOperationsMixin`` (mixins.py) — write operations (cancel, purge, archive, etc.) +- ``QueueLockMixin`` (mixins.py) — distributed locking +- ``AsyncQueueMixin`` (async_support/mixins.py) — ``a*`` async wrappers for all sync methods + +The Queue class itself (this file) handles: +- Constructor and storage backend initialization +- @task() and @periodic() decorators with task registration +- enqueue() / enqueue_many() job submission +- run_worker() worker lifecycle (signals, heartbeat, resources) +- Event bus and webhook management +""" from __future__ import annotations