From 0f34a8a8cecfe1b6b47ca362102a54e918a139d2 Mon Sep 17 00:00:00 2001 From: homerpan Date: Thu, 25 Sep 2025 10:15:51 +0800 Subject: [PATCH 1/2] update msg while msg not nil --- taskmanager/memory_handler.go | 7 ++++++- taskmanager/redis/redis_task_handler.go | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/taskmanager/memory_handler.go b/taskmanager/memory_handler.go index 5c7c8efc..38d654db 100644 --- a/taskmanager/memory_handler.go +++ b/taskmanager/memory_handler.go @@ -53,10 +53,15 @@ func (h *memoryTaskHandler) UpdateTaskState( originalTask := task.Task() originalTask.Status = protocol.TaskStatus{ State: state, - Message: message, Timestamp: time.Now().UTC().Format(time.RFC3339), } + if message != nil { + originalTask.Status.Message = message + } + + h.manager.taskMu.Unlock() + log.Debugf("Updated task %s state to %s", *taskID, state) // notify subscribers diff --git a/taskmanager/redis/redis_task_handler.go b/taskmanager/redis/redis_task_handler.go index 99e1af5a..f5ef6850 100644 --- a/taskmanager/redis/redis_task_handler.go +++ b/taskmanager/redis/redis_task_handler.go @@ -108,10 +108,13 @@ func (h *taskHandler) UpdateTaskState( // Update task status. task.Status = protocol.TaskStatus{ State: state, - Message: message, Timestamp: time.Now().UTC().Format(time.RFC3339), } + if message != nil { + task.Status.Message = message + } + // Store updated task. if err := h.manager.storeTask(h.ctx, task); err != nil { return fmt.Errorf("failed to update task status: %w", err) From 1fb0eb048d32ea6e35d1badee73578014d413204 Mon Sep 17 00:00:00 2001 From: homerpan Date: Thu, 25 Sep 2025 10:18:35 +0800 Subject: [PATCH 2/2] fix merge conflict --- taskmanager/memory_handler.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/taskmanager/memory_handler.go b/taskmanager/memory_handler.go index 38d654db..96c8fb49 100644 --- a/taskmanager/memory_handler.go +++ b/taskmanager/memory_handler.go @@ -60,10 +60,7 @@ func (h *memoryTaskHandler) UpdateTaskState( originalTask.Status.Message = message } - h.manager.taskMu.Unlock() - log.Debugf("Updated task %s state to %s", *taskID, state) - // notify subscribers finalState := isFinalState(state) event := &protocol.TaskStatusUpdateEvent{