From 4bd18f7dd817110ddbc5df5743c3a035442123a5 Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Sat, 30 Jan 2021 18:49:07 -0800 Subject: [PATCH] Send restoration status information to the console --- router/router_server_backup.go | 10 +++++++--- server/backup.go | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/router/router_server_backup.go b/router/router_server_backup.go index 476988c..22c6b5f 100644 --- a/router/router_server_backup.go +++ b/router/router_server_backup.go @@ -99,12 +99,15 @@ func postServerRestoreBackup(c *gin.Context) { middleware.CaptureAndAbort(c, err) return } - go func(logger *log.Entry) { - logger.Info("restoring server from local backup...") + go func(s *server.Server, b backup.BackupInterface, logger *log.Entry) { + logger.Info("starting restoration process for server backup using local driver") if err := s.RestoreBackup(b, nil); err != nil { logger.WithField("error", err).Error("failed to restore local backup to server") } - }(logger) + s.Events().Publish(server.DaemonMessageEvent, "Completed server restoration from local backup.") + s.Events().Publish(server.BackupRestoreCompletedEvent, "") + logger.Info("completed server restoration from local backup") + }(s, b, logger) c.Status(http.StatusAccepted) return } @@ -143,6 +146,7 @@ func postServerRestoreBackup(c *gin.Context) { if err := s.RestoreBackup(backup.NewS3(uuid, ""), res.Body); err != nil { logger.WithField("error", errors.WithStack(err)).Error("failed to restore remote S3 backup to server") } + s.Events().Publish(server.DaemonMessageEvent, "Completed server restoration from S3 backup.") s.Events().Publish(server.BackupRestoreCompletedEvent, "") logger.Info("completed server restoration from S3 backup") }(s, c.Param("backup"), logger) diff --git a/server/backup.go b/server/backup.go index 0a6283b..f247c4b 100644 --- a/server/backup.go +++ b/server/backup.go @@ -151,6 +151,7 @@ func (s *Server) RestoreBackup(b backup.BackupInterface, reader io.ReadCloser) ( // in the file one at a time and writing them to the disk. s.Log().Debug("starting file writing process for backup restoration") err = b.Restore(reader, func(file string, r io.Reader) error { + s.Events().Publish(DaemonMessageEvent, "(restoring): "+file) return s.Filesystem().Writefile(file, r) })