feat: trace-level matching, health watcher/worker status, timezone config

This commit is contained in:
Accusys
2026-05-21 01:08:30 +08:00
parent 8ede4be159
commit bebaa743ed
60 changed files with 6110 additions and 1586 deletions

View File

@@ -34,6 +34,8 @@ class ProgressData:
message: Optional[str] = None
current: Optional[int] = None
total: Optional[int] = None
output_count: Optional[int] = None
output_type: Optional[str] = None
extra: Optional[Dict[str, Any]] = None
@@ -49,7 +51,8 @@ class StructuredMessage:
class RedisPublisher:
def __init__(self, uuid: str):
self.uuid = uuid
self.channel = f"momentry:progress:{uuid}"
prefix = os.environ.get("MOMENTRY_REDIS_PREFIX", "momentry:")
self.channel = f"{prefix}progress:{uuid}"
self._enabled = False
self._client = None
self._connect()
@@ -107,6 +110,8 @@ class RedisPublisher:
message: Optional[str] = None,
current: Optional[int] = None,
total: Optional[int] = None,
output_count: Optional[int] = None,
output_type: Optional[str] = None,
extra: Optional[Dict[str, Any]] = None,
) -> bool:
if not self._enabled:
@@ -121,6 +126,8 @@ class RedisPublisher:
message=message,
current=current,
total=total,
output_count=output_count,
output_type=output_type,
extra=extra,
),
)
@@ -136,6 +143,8 @@ class RedisPublisher:
current: int,
total: int,
message: str = "",
output_count: Optional[int] = None,
output_type: Optional[str] = None,
) -> bool:
return self.publish(
MessageType.PROGRESS,
@@ -143,6 +152,8 @@ class RedisPublisher:
message=message,
current=current,
total=total,
output_count=output_count,
output_type=output_type,
)
def complete(self, processor: str, message: str = "") -> bool: