输出消息改为中文
This commit is contained in:
@@ -67,7 +67,7 @@ func (tq *TaskQueue) AddTask(task Task) {
|
||||
priority: task.GetPriority(),
|
||||
}
|
||||
heap.Push(tq.queue, item)
|
||||
tq.logger.Infow("任务已添加到队列", "taskID", task.GetID())
|
||||
tq.logger.Infow("任务已添加到队列", "任务ID", task.GetID())
|
||||
}
|
||||
|
||||
// GetNextTask 获取下一个要执行的任务(优先级最高的任务)
|
||||
@@ -80,7 +80,7 @@ func (tq *TaskQueue) GetNextTask() Task {
|
||||
}
|
||||
|
||||
item := heap.Pop(tq.queue).(*taskItem)
|
||||
tq.logger.Infow("从队列中获取任务", "taskID", item.task.GetID())
|
||||
tq.logger.Infow("从队列中获取任务", "任务ID", item.task.GetID())
|
||||
return item.task
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ func NewExecutor(workers int, logger *logs.Logger) *Executor {
|
||||
|
||||
// Start 启动任务执行器
|
||||
func (e *Executor) Start() {
|
||||
e.logger.Infow("正在启动任务执行器", "workers", e.workers)
|
||||
e.logger.Infow("正在启动任务执行器", "工作协程数", e.workers)
|
||||
|
||||
// 启动工作协程
|
||||
for i := 0; i < e.workers; i++ {
|
||||
@@ -187,31 +187,31 @@ func (e *Executor) Stop() {
|
||||
// SubmitTask 提交任务到执行器
|
||||
func (e *Executor) SubmitTask(task Task) {
|
||||
e.taskQueue.AddTask(task)
|
||||
e.logger.Infow("任务已提交", "taskID", task.GetID())
|
||||
e.logger.Infow("任务已提交", "任务ID", task.GetID())
|
||||
}
|
||||
|
||||
// worker 工作协程
|
||||
func (e *Executor) worker(id int) {
|
||||
defer e.wg.Done()
|
||||
|
||||
e.logger.Infow("工作协程已启动", "workerID", id)
|
||||
e.logger.Infow("工作协程已启动", "工作协程ID", id)
|
||||
|
||||
for {
|
||||
select {
|
||||
case <-e.ctx.Done():
|
||||
e.logger.Infow("工作协程已停止", "workerID", id)
|
||||
e.logger.Infow("工作协程已停止", "工作协程ID", id)
|
||||
return
|
||||
default:
|
||||
// 获取下一个任务
|
||||
task := e.taskQueue.GetNextTask()
|
||||
if task != nil {
|
||||
e.logger.Infow("工作协程正在执行任务", "workerID", id, "taskID", task.GetID())
|
||||
e.logger.Infow("工作协程正在执行任务", "工作协程ID", id, "任务ID", task.GetID())
|
||||
|
||||
// 执行任务
|
||||
if err := task.Execute(); err != nil {
|
||||
e.logger.Errorw("任务执行失败", "workerID", id, "taskID", task.GetID(), "error", err)
|
||||
e.logger.Errorw("任务执行失败", "工作协程ID", id, "任务ID", task.GetID(), "错误", err)
|
||||
} else {
|
||||
e.logger.Infow("任务执行成功", "workerID", id, "taskID", task.GetID())
|
||||
e.logger.Infow("任务执行成功", "工作协程ID", id, "任务ID", task.GetID())
|
||||
}
|
||||
} else {
|
||||
// 没有任务时短暂休眠
|
||||
|
||||
@@ -60,7 +60,7 @@ func (m *MockTask) ExecutedCount() int32 {
|
||||
return atomic.LoadInt32(&m.executed)
|
||||
}
|
||||
|
||||
// --- Helper function for robust waiting ---
|
||||
// --- 健壮等待的辅助函数 ---
|
||||
func waitForWaitGroup(t *testing.T, wg *sync.WaitGroup, timeout time.Duration) {
|
||||
waitChan := make(chan struct{})
|
||||
go func() {
|
||||
@@ -70,13 +70,13 @@ func waitForWaitGroup(t *testing.T, wg *sync.WaitGroup, timeout time.Duration) {
|
||||
|
||||
select {
|
||||
case <-waitChan:
|
||||
// Wait succeeded
|
||||
// 等待成功
|
||||
case <-time.After(timeout):
|
||||
t.Fatal("timed out waiting for tasks to complete")
|
||||
t.Fatal("等待任务完成超时")
|
||||
}
|
||||
}
|
||||
|
||||
// --- TaskQueue Tests (No changes needed) ---
|
||||
// --- 任务队列测试 (无需更改) ---
|
||||
|
||||
func TestNewTaskQueue(t *testing.T) {
|
||||
tq := task.NewTaskQueue(testLogger)
|
||||
@@ -92,7 +92,7 @@ func TestTaskQueue_AddTask(t *testing.T) {
|
||||
assert.Equal(t, 1, tq.GetTaskCount(), "添加任务后,队列中的任务数应为 1")
|
||||
}
|
||||
|
||||
// ... (other TaskQueue tests remain the same)
|
||||
// ... (其他任务队列测试保持不变)
|
||||
func TestTaskQueue_GetNextTask(t *testing.T) {
|
||||
t.Run("从空队列获取任务", func(t *testing.T) {
|
||||
tq := task.NewTaskQueue(testLogger)
|
||||
@@ -157,7 +157,7 @@ func TestTaskQueue_Concurrency(t *testing.T) {
|
||||
assert.Equal(t, 0, tq.GetTaskCount(), "并发获取所有任务后,队列应为空")
|
||||
}
|
||||
|
||||
// --- Executor Tests (Refactored for reliability) ---
|
||||
// --- 执行器测试 (为可靠性重构) ---
|
||||
|
||||
func TestNewExecutor(t *testing.T) {
|
||||
executor := task.NewExecutor(5, testLogger)
|
||||
@@ -294,7 +294,7 @@ func TestExecutor_StopWithPendingTasks(t *testing.T) {
|
||||
case <-task1Started:
|
||||
// task1 已开始,可以安全地停止执行器了
|
||||
case <-time.After(1 * time.Second):
|
||||
t.Fatal("timed out waiting for task1 to start")
|
||||
t.Fatal("等待 task1 启动超时")
|
||||
}
|
||||
|
||||
executor.Stop()
|
||||
|
||||
Reference in New Issue
Block a user