diff --git a/cmd/bilidown/main.go b/cmd/bilidown/main.go index 66a619b..ad26b28 100644 --- a/cmd/bilidown/main.go +++ b/cmd/bilidown/main.go @@ -85,22 +85,11 @@ func mustRunServer() { // gracefulShutdown 优雅退出:保存任务状态并关闭服务 func gracefulShutdown() { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() - // 等待活跃任务完成或超时 - task.GlobalTaskMux.Lock() - activeCount := len(task.GlobalTaskList) - task.GlobalTaskMux.Unlock() - - if activeCount > 0 { - logger.Infof("等待 %d 个活跃任务完成(最多10秒)...", activeCount) - // 标记所有运行中的任务为暂停状态 - task.MarkAllTasksPaused() - // 等待下载信号量释放 - task.GlobalDownloadSem.Wait() - task.GlobalMergeSem.Wait() - } + // 标记所有运行中的任务为暂停状态(立即中断,不等待) + task.MarkAllTasksPaused() // 关闭 HTTP 服务器 if err := server.Shutdown(ctx); err != nil {