serverish 2.0.3__tar.gz → 2.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {serverish-2.0.3 → serverish-2.0.4}/PKG-INFO +1 -1
- {serverish-2.0.3 → serverish-2.0.4}/pyproject.toml +1 -1
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_callback_sub.py +9 -3
- {serverish-2.0.3 → serverish-2.0.4}/LICENSE +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/README.md +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/__init__.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/__init__.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/asyncio_util_functions.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/collector.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/datetime.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/exceptions.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/fifoset.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/hasstatuses.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/idmanger.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/iterators.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/manageable.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/singleton.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/status.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/base/task_manager.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/connection/__init__.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/connection/connection.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/connection/connection_jets.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/connection/connection_nats.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/__init__.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/live_document.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/logging.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/messenger.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_cmd_pub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_cmd_sub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_core_pub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_core_read.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_core_sub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_document_read.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_journal_pub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_journal_read.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_progress_pub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_progress_read.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_publisher.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_reader.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_rpc_req.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_rpc_resp.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_single_pub.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msg_single_read.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/messenger/msgvalidator.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/monitoring/__init__.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/monitoring/bridge.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/monitoring/factory.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/monitoring/monitored.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/monitoring/monitored_nats.py +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/config.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/default.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/include/timestamp.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/journal.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/meta.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/program_current_state.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/program_state.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/progress.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/schema/telemetry.schema.json +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/services/TODO.txt +0 -0
- {serverish-2.0.3 → serverish-2.0.4}/serverish/slog.py +0 -0
|
@@ -42,7 +42,9 @@ class MsgCallbackSubscriber(MsgReader):
|
|
|
42
42
|
Args:
|
|
43
43
|
callback: a callback function to call on each message, may be asynchronous
|
|
44
44
|
callback is called with two arguments: message dict and metadata dict,
|
|
45
|
-
and
|
|
45
|
+
and may return False to stop reading messages. Any other return value
|
|
46
|
+
(including None — i.e. callbacks with no explicit return — and True)
|
|
47
|
+
keeps the subscription running.
|
|
46
48
|
"""
|
|
47
49
|
self.callback = callback
|
|
48
50
|
if asyncio.iscoroutinefunction(callback):
|
|
@@ -59,7 +61,7 @@ class MsgCallbackSubscriber(MsgReader):
|
|
|
59
61
|
assert scb is not None or acb is not None
|
|
60
62
|
assert not (scb is not None and acb is not None)
|
|
61
63
|
cb = scb or acb
|
|
62
|
-
cont = True
|
|
64
|
+
cont: object = True
|
|
63
65
|
log.debug(f"Entering sync interation{self}")
|
|
64
66
|
async for data, meta in self:
|
|
65
67
|
try:
|
|
@@ -74,7 +76,11 @@ class MsgCallbackSubscriber(MsgReader):
|
|
|
74
76
|
break
|
|
75
77
|
except Exception as e:
|
|
76
78
|
log.exception(f'Error in callback {cb} for message {meta}{str(data):20}: {e}')
|
|
77
|
-
|
|
79
|
+
# Stop only on explicit False — None (the implicit "no return" value
|
|
80
|
+
# of a Python function) and any truthy value keep the subscription
|
|
81
|
+
# alive. Treating None as "stop" would silently kill any callback
|
|
82
|
+
# that doesn't bother returning anything, which is the common case.
|
|
83
|
+
if cont is False or self._stop_event.is_set():
|
|
78
84
|
break
|
|
79
85
|
log.debug(f"Exiting sync interation{self}")
|
|
80
86
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|