Skip to content

Commit 2a45208

Browse files
committed
fix: Fix the issue of database backup failure
1 parent e88fe0a commit 2a45208

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

agent/app/service/backup_mysql.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,14 @@ import (
88
"strings"
99
"time"
1010

11-
"github.com/1Panel-dev/1Panel/agent/app/repo"
12-
13-
"github.com/1Panel-dev/1Panel/agent/constant"
14-
"github.com/1Panel-dev/1Panel/agent/i18n"
15-
16-
"github.com/1Panel-dev/1Panel/agent/buserr"
17-
1811
"github.com/1Panel-dev/1Panel/agent/app/dto"
1912
"github.com/1Panel-dev/1Panel/agent/app/model"
13+
"github.com/1Panel-dev/1Panel/agent/app/repo"
2014
"github.com/1Panel-dev/1Panel/agent/app/task"
15+
"github.com/1Panel-dev/1Panel/agent/buserr"
16+
"github.com/1Panel-dev/1Panel/agent/constant"
2117
"github.com/1Panel-dev/1Panel/agent/global"
18+
"github.com/1Panel-dev/1Panel/agent/i18n"
2219
"github.com/1Panel-dev/1Panel/agent/utils/common"
2320
"github.com/1Panel-dev/1Panel/agent/utils/files"
2421
"github.com/1Panel-dev/1Panel/agent/utils/mysql/client"
@@ -94,7 +91,7 @@ func handleMysqlBackup(db DatabaseHelper, parentTask *task.Task, recordID uint,
9491
if parentTask != nil {
9592
return itemHandler()
9693
}
97-
backupTask.AddSubTaskWithOps(task.GetTaskName(itemName, task.TaskBackup, task.TaskScopeBackup), func(t *task.Task) error { return itemHandler() }, nil, 3, time.Hour)
94+
backupTask.AddSubTaskWithOps(task.GetTaskName(itemName, task.TaskBackup, task.TaskScopeBackup), func(t *task.Task) error { return itemHandler() }, nil, 0, 3*time.Hour)
9895
go func() {
9996
if err := backupTask.Execute(); err != nil {
10097
backupRepo.UpdateRecordByMap(recordID, map[string]interface{}{"status": constant.StatusFailed, "message": err.Error()})
@@ -196,7 +193,7 @@ func handleMysqlRecover(req dto.CommonRecover, parentTask *task.Task, isRollback
196193
return recoverDatabase(parentTask)
197194
}
198195

199-
itemTask.AddSubTaskWithOps(i18n.GetMsgByKey("TaskRecover"), recoverDatabase, nil, 3, time.Hour)
196+
itemTask.AddSubTaskWithOps(i18n.GetMsgByKey("TaskRecover"), recoverDatabase, nil, 0, 3*time.Hour)
200197
go func() {
201198
_ = itemTask.Execute()
202199
}()

agent/app/service/backup_postgresql.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func handlePostgresqlBackup(db DatabaseHelper, parentTask *task.Task, recordID u
8686
if parentTask != nil {
8787
return itemHandler()
8888
}
89-
backupTask.AddSubTaskWithOps(task.GetTaskName(itemName, task.TaskBackup, task.TaskScopeBackup), func(t *task.Task) error { return itemHandler() }, nil, 3, time.Hour)
89+
backupTask.AddSubTaskWithOps(task.GetTaskName(itemName, task.TaskBackup, task.TaskScopeBackup), func(t *task.Task) error { return itemHandler() }, nil, 0, 3*time.Hour)
9090
go func() {
9191
if err := backupTask.Execute(); err != nil {
9292
backupRepo.UpdateRecordByMap(recordID, map[string]interface{}{"status": constant.StatusFailed, "message": err.Error()})
@@ -130,10 +130,12 @@ func handlePostgresqlRecover(req dto.CommonRecover, parentTask *task.Task, isRol
130130
if !isRollback {
131131
rollbackFile := path.Join(global.Dir.TmpDir, fmt.Sprintf("database/%s/%s_%s.sql.gz", req.Type, req.DetailName, time.Now().Format(constant.DateTimeSlimLayout)))
132132
if err := cli.Backup(client.BackupInfo{
133+
Database: req.Name,
133134
Name: req.DetailName,
134135
TargetDir: path.Dir(rollbackFile),
135136
FileName: path.Base(rollbackFile),
136137

138+
Task: t,
137139
Timeout: 300,
138140
}); err != nil {
139141
return fmt.Errorf("backup postgresql db %s for rollback before recover failed, err: %v", req.DetailName, err)
@@ -142,9 +144,11 @@ func handlePostgresqlRecover(req dto.CommonRecover, parentTask *task.Task, isRol
142144
if !isOk {
143145
global.LOG.Info("recover failed, start to rollback now")
144146
if err := cli.Recover(client.RecoverInfo{
147+
Database: req.Name,
145148
Name: req.DetailName,
146149
SourceFile: rollbackFile,
147150

151+
Task: t,
148152
Timeout: 300,
149153
}); err != nil {
150154
global.LOG.Errorf("rollback postgresql db %s from %s failed, err: %v", req.DetailName, rollbackFile, err)
@@ -167,9 +171,11 @@ func handlePostgresqlRecover(req dto.CommonRecover, parentTask *task.Task, isRol
167171
t.LogWithStatus(i18n.GetMsgByKey("Decrypt"), err)
168172
}
169173
if err := cli.Recover(client.RecoverInfo{
174+
Database: req.Name,
170175
Name: req.DetailName,
171176
SourceFile: req.File,
172177
Username: dbInfo.Username,
178+
Task: t,
173179
Timeout: 300,
174180
}); err != nil {
175181
global.LOG.Errorf("recover postgresql db %s from %s failed, err: %v", req.DetailName, req.File, err)
@@ -182,7 +188,7 @@ func handlePostgresqlRecover(req dto.CommonRecover, parentTask *task.Task, isRol
182188
return recoverDatabase(parentTask)
183189
}
184190

185-
itemTask.AddSubTaskWithOps(i18n.GetMsgByKey("TaskRecover"), recoverDatabase, nil, 3, time.Hour)
191+
itemTask.AddSubTaskWithOps(i18n.GetMsgByKey("TaskRecover"), recoverDatabase, nil, 0, 3*time.Hour)
186192
go func() {
187193
_ = itemTask.Execute()
188194
}()

0 commit comments

Comments
 (0)