2121 DEFAULT_STREAM_KEY_PREFIX ,
2222 DEFAULT_STREAM_KEYS_REFRESH_INTERVAL_SEC ,
2323)
24- from memos .mem_scheduler .task_schedule_modules . orchestrator import SchedulerOrchestrator
25- from memos .mem_scheduler .webservice_modules . redis_service import RedisSchedulerModule
24+ from memos .mem_scheduler .utils . monitor_event_utils import emit_monitor_event , to_iso
25+ from memos .mem_scheduler .utils . status_tracker import TaskStatusTracker
2626
2727
2828logger = get_logger (__name__ )
@@ -51,6 +51,7 @@ def __init__(
5151 consumer_name : str | None = "scheduler_consumer" ,
5252 max_len : int | None = None ,
5353 auto_delete_acked : bool = True , # Whether to automatically delete acknowledged messages
54+ status_tracker : TaskStatusTracker | None = None ,
5455 ):
5556 """
5657 Initialize the Redis queue.
@@ -62,6 +63,7 @@ def __init__(
6263 max_len: Maximum length of the stream (for memory management)
6364 maxsize: Maximum size of the queue (for Queue compatibility, ignored)
6465 auto_delete_acked: Whether to automatically delete acknowledged messages from stream
66+ status_tracker: TaskStatusTracker instance for tracking task status
6567 """
6668 super ().__init__ ()
6769 # Stream configuration
@@ -101,6 +103,7 @@ def __init__(
101103 self .message_pack_cache = deque ()
102104
103105 self .orchestrator = SchedulerOrchestrator () if orchestrator is None else orchestrator
106+ self .status_tracker = status_tracker
104107
105108 # Cached stream keys and refresh control
106109 self ._stream_keys_cache : list [str ] = []
0 commit comments