From 177c7695e3fa3533f3acfb48cc3838f17f3815b6 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Sat, 21 Aug 2021 11:04:41 +0800 Subject: [PATCH] Fix: Node ID will be 0 in download record generated in older version --- models/download.go | 10 ++++++++++ pkg/aria2/monitor/monitor.go | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/models/download.go b/models/download.go index ab28c2f9..40802ad7 100644 --- a/models/download.go +++ b/models/download.go @@ -115,3 +115,13 @@ func (task *Download) GetOwner() *User { func (download *Download) Delete() error { return DB.Model(download).Delete(download).Error } + +// GetNodeID 返回任务所属节点ID +func (task *Download) GetNodeID() uint { + // 兼容3.4版本之前生成的下载记录 + if task.NodeID == 0 { + return 1 + } + + return task.NodeID +} diff --git a/pkg/aria2/monitor/monitor.go b/pkg/aria2/monitor/monitor.go index 12abfbf4..ac666836 100644 --- a/pkg/aria2/monitor/monitor.go +++ b/pkg/aria2/monitor/monitor.go @@ -37,7 +37,7 @@ func NewMonitor(task *model.Download) { monitor := &Monitor{ Task: task, notifier: make(chan common.StatusEvent), - node: cluster.Default.GetNodeByID(task.NodeID), + node: cluster.Default.GetNodeByID(task.GetNodeID()), } if monitor.node != nil { monitor.Interval = time.Duration(monitor.node.GetAria2Instance().GetConfig().Interval) * time.Second