Skip to content

Commit 3311832

Browse files
authored
Fix dequeue timestamp logging for pydantic models (#596)
* Fix dequeue timestamp logging for pydantic models * Address ruff UP038 warnings in monitor events --------- Co-authored-by: [email protected] <>
1 parent 9febb1d commit 3311832

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/memos/mem_scheduler/base_scheduler.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,8 @@ def _message_consumer(self) -> None:
785785
if enqueue_epoch is not None:
786786
queue_wait_ms = max(0.0, now - enqueue_epoch) * 1000
787787

788-
msg.dequeue_ts = now
788+
# Avoid pydantic attribute enforcement
789+
object.__setattr__(msg, "_dequeue_ts", now)
789790
emit_monitor_event(
790791
"dequeue",
791792
msg,

src/memos/mem_scheduler/task_schedule_modules/dispatcher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def wrapped_handler(messages: list[ScheduleMessageItem]):
166166
wait_sec = max(0.0, now - enq_epoch)
167167
self.metrics.observe_task_wait_duration(wait_sec, m.user_id, m.label)
168168

169-
dequeue_ts = getattr(first_msg, "dequeue_ts", None)
169+
dequeue_ts = getattr(first_msg, "_dequeue_ts", None)
170170
start_delay_ms = None
171171
if isinstance(dequeue_ts, int | float):
172172
start_delay_ms = max(0.0, start_time - dequeue_ts) * 1000

0 commit comments

Comments
 (0)