Support rebooting workers

This commit is contained in:
Ben Sarmiento
2024-01-28 23:04:39 +01:00
parent 4ff88372bc
commit 15a24a58a2
7 changed files with 79 additions and 47 deletions

View File

@@ -243,6 +243,8 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
<td colspan="2">
<button type="button" onclick="window.open('/logs/upload')">Upload logs</button>
<button type="button" onclick="window.open('/reboot/worker')">Reboot worker pool</button>
<button type="button" onclick="window.open('/reboot/refresh')">Reboot refresh worker</button>
<button type="button" onclick="window.open('/reboot/repair')">Reboot repair worker</button>
</td>
</tr>
</table>
@@ -310,6 +312,20 @@ func (zr *Handlers) handleRebootWorkerPool(resp http.ResponseWriter, req *http.R
fmt.Fprint(resp, "Rebooted worker pool, please close this window")
}
func (zr *Handlers) handleRebootRefreshPool(resp http.ResponseWriter, req *http.Request) {
zr.torMgr.RefreshKillSwitch <- struct{}{}
zr.torMgr.StartRefreshJob()
zr.log.Infof("Rebooted refresh worker")
fmt.Fprint(resp, "Rebooted refresh worker, please close this window")
}
func (zr *Handlers) handleRebootRepairPool(resp http.ResponseWriter, req *http.Request) {
zr.torMgr.RepairKillSwitch <- struct{}{}
zr.torMgr.StartRepairJob()
zr.log.Infof("Rebooted repair worker")
fmt.Fprint(resp, "Rebooted repair worker, please close this window")
}
func bToMb(b uint64) uint64 {
return b / 1024 / 1024
}

View File

@@ -55,6 +55,8 @@ func AttachHandlers(router *chi.Mux, downloader *universal.Downloader, torMgr *t
router.Get("/", hs.handleHome)
router.Get("/reboot/worker", hs.handleRebootWorkerPool)
router.Get("/reboot/refresh", hs.handleRebootRefreshPool)
router.Get("/reboot/repair", hs.handleRebootRepairPool)
// version
router.Get(fmt.Sprintf("/{mountType}/%s", version.FILE), hs.handleVersionFile)
router.Head(fmt.Sprintf("/{mountType}/%s", version.FILE), hs.handleCheckVersionFile)