Fix repair condition

This commit is contained in:
Ben Adrian Sarmiento
2024-06-19 13:11:50 +02:00
parent 7e54d6c441
commit bd8c6c9932
8 changed files with 90 additions and 58 deletions

65
internal/handlers/util.go Normal file
View File

@@ -0,0 +1,65 @@
package handlers
import (
"fmt"
"net/http"
)
func (zr *Handlers) handleRebootWorkerPool(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Rebooting worker pool")
zr.workerPool.Release()
zr.workerPool.Reboot()
fmt.Fprint(resp, "Worker pool rebooted")
}
func (zr *Handlers) handleRebootRefreshWorker(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Rebooting refresh worker")
zr.torMgr.RefreshWorkerKillSwitch <- struct{}{}
zr.torMgr.StartRefreshJob()
fmt.Fprint(resp, "Refresh worker rebooted")
}
func (zr *Handlers) handleRebootRepairWorker(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Rebooting repair worker")
zr.torMgr.RepairWorkerKillSwitch <- struct{}{}
zr.torMgr.StartRepairJob()
fmt.Fprint(resp, "Repair worker rebooted")
}
func (zr *Handlers) handleRemountDownloads(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Triggering remount of downloads")
zr.torMgr.RemountTrigger <- struct{}{}
fmt.Fprint(resp, "Triggered remount of downloads")
}
func (zr *Handlers) handleDumpTorrents(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Triggering dump of torrents")
zr.torMgr.DumpTrigger <- struct{}{}
fmt.Fprint(resp, "Triggered dump of torrents")
}
func (zr *Handlers) handleAnalyzeTorrents(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Triggered analysis of all torrents")
zr.torMgr.AnalyzeTrigger <- struct{}{}
fmt.Fprint(resp, "Triggered analysis of all torrents")
}
func (zr *Handlers) handleTriggerRepairAll(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Triggering repair of all torrents")
zr.torMgr.EnqueueForRepair(nil)
fmt.Fprint(resp, "Triggered repair of all torrents")
}
func (zr *Handlers) handleResetRepairState(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Refresh", "2; url=/")
zr.log.Infof("Resetting repair state of all torrents")
zr.torMgr.ResetRepairState()
fmt.Fprint(resp, "Repair state of all torrents has been reset")
}