Fix repair condition
This commit is contained in:
@@ -270,7 +270,7 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
|
||||
<td>%v</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IDs to be deleted once download completes</td>
|
||||
<td>IDs to be deleted</td>
|
||||
<td colspan="2">%v</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -288,6 +288,9 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
|
||||
<form method="post" action="/torrents/repair">
|
||||
<input type="submit" value="Repair torrents" /> Trigger repair of all torrents
|
||||
</form>
|
||||
<form method="post" action="/torrents/reset-repair-state">
|
||||
<input type="submit" value="Reset repair state" /> Reset repair state of all torrents so they can be repaired again
|
||||
</form>
|
||||
</td>
|
||||
<tr>
|
||||
<td>Debug</td>
|
||||
@@ -367,58 +370,6 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
|
||||
fmt.Fprint(resp, out)
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleRebootWorkerPool(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.workerPool.Release()
|
||||
zr.workerPool.Reboot()
|
||||
zr.log.Infof("Rebooted worker pool")
|
||||
fmt.Fprint(resp, "Rebooting worker pool...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleRebootRefreshWorker(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.RefreshWorkerKillSwitch <- struct{}{}
|
||||
zr.torMgr.StartRefreshJob()
|
||||
zr.log.Infof("Rebooted refresh worker")
|
||||
fmt.Fprint(resp, "Rebooting refresh worker...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleRebootRepairWorker(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.RepairWorkerKillSwitch <- struct{}{}
|
||||
zr.torMgr.StartRepairJob()
|
||||
zr.log.Infof("Rebooted repair worker")
|
||||
fmt.Fprint(resp, "Rebooting repair worker...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleRemountDownloads(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.RemountTrigger <- struct{}{}
|
||||
zr.log.Infof("Triggered remount of downloads")
|
||||
fmt.Fprint(resp, "Remounting downloads...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleDumpTorrents(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.DumpTrigger <- struct{}{}
|
||||
zr.log.Infof("Triggered dump of torrents")
|
||||
fmt.Fprint(resp, "Dumping torrents...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleAnalyzeTorrents(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.AnalyzeTrigger <- struct{}{}
|
||||
zr.log.Infof("Triggered media analysis of torrents")
|
||||
fmt.Fprint(resp, "Analyzing all torrents...")
|
||||
}
|
||||
|
||||
func (zr *Handlers) handleTriggerRepairAll(resp http.ResponseWriter, req *http.Request) {
|
||||
resp.Header().Set("Refresh", "2; url=/")
|
||||
zr.torMgr.EnqueueForRepair(nil)
|
||||
zr.log.Infof("Triggered repair of all torrents")
|
||||
fmt.Fprint(resp, "Repairing all torrents...")
|
||||
}
|
||||
|
||||
func bToMb(b uint64) uint64 {
|
||||
return b / 1024 / 1024
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ func AttachHandlers(router *chi.Mux, downloader *universal.Downloader, torMgr *t
|
||||
router.Post("/torrents/dump", hs.handleDumpTorrents)
|
||||
router.Post("/torrents/analyze", hs.handleAnalyzeTorrents)
|
||||
router.Post("/torrents/repair", hs.handleTriggerRepairAll)
|
||||
router.Post("/torrents/reset-repair-state", hs.handleResetRepairState)
|
||||
// version
|
||||
router.Get(fmt.Sprintf("/{mountType}/%s", version.FILE), hs.handleVersionFile)
|
||||
router.Head(fmt.Sprintf("/{mountType}/%s", version.FILE), hs.handleCheckVersionFile)
|
||||
|
||||
65
internal/handlers/util.go
Normal file
65
internal/handlers/util.go
Normal 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")
|
||||
}
|
||||
Reference in New Issue
Block a user