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 diff --git a/py_src/taskito/prefork/child.py b/py_src/taskito/prefork/child.py index 2492ff0..4f85e06 100644 --- a/py_src/taskito/prefork/child.py +++ b/py_src/taskito/prefork/child.py @@ -177,7 +177,7 @@ def main() -> None: msg = json.loads(line) if msg.get("type") == "shutdown": - logger.info("shutdown received") + sys.stdout.flush() break if msg.get("type") == "job":