From 64f2a5bd9223826afe0869813385f6b925a13fb5 Mon Sep 17 00:00:00 2001 From: Erwin Ticzon Date: Fri, 21 Apr 2017 22:48:08 +1000 Subject: add context cancellation to backup routines --- system/admin/handlers.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'system/admin/handlers.go') diff --git a/system/admin/handlers.go b/system/admin/handlers.go index 4f8ae83..4734ba0 100644 --- a/system/admin/handlers.go +++ b/system/admin/handlers.go @@ -195,9 +195,12 @@ func configHandler(res http.ResponseWriter, req *http.Request) { } func backupHandler(res http.ResponseWriter, req *http.Request) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + switch req.URL.Query().Get("source") { case "system": - err := db.Backup(res) + err := db.Backup(ctx, res) if err != nil { log.Println("Failed to run backup on system:", err) res.WriteHeader(http.StatusInternalServerError) @@ -205,7 +208,7 @@ func backupHandler(res http.ResponseWriter, req *http.Request) { } case "analytics": - err := analytics.Backup(res) + err := analytics.Backup(ctx, res) if err != nil { log.Println("Failed to run backup on analytics:", err) res.WriteHeader(http.StatusInternalServerError) @@ -213,7 +216,7 @@ func backupHandler(res http.ResponseWriter, req *http.Request) { } case "uploads": - err := upload.Backup(res) + err := upload.Backup(ctx, res) if err != nil { log.Println("Failed to run backup on uploads:", err) res.WriteHeader(http.StatusInternalServerError) -- cgit v1.2.3