From cc5bacedee4a5168d99c50bb635c2bce3fa8c5b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Tue, 25 Jul 2023 13:19:08 +0800 Subject: [PATCH] feat: support restart panel --- app/http/controllers/info_controller.go | 12 + public/panel/views/index.html | 336 ++++++++++++------------ routes/web.go | 1 + 3 files changed, 188 insertions(+), 161 deletions(-) diff --git a/app/http/controllers/info_controller.go b/app/http/controllers/info_controller.go index 2a41c46a..271b4a42 100644 --- a/app/http/controllers/info_controller.go +++ b/app/http/controllers/info_controller.go @@ -180,3 +180,15 @@ func (c *InfoController) Update(ctx http.Context) { Success(ctx, nil) } + +func (c *InfoController) Restart(ctx http.Context) { + var task models.Task + err := facades.Orm().Query().Where("status", models.TaskStatusRunning).OrWhere("status", models.TaskStatusWaiting).FirstOrFail(&task) + if err == nil { + Error(ctx, http.StatusInternalServerError, "当前有任务正在执行,禁止重启") + return + } + + tools.ExecShell("systemctl restart panel") + Success(ctx, nil) +} diff --git a/public/panel/views/index.html b/public/panel/views/index.html index 4a31edf3..77bb34d2 100644 --- a/public/panel/views/index.html +++ b/public/panel/views/index.html @@ -126,6 +126,7 @@ Date: 2023-06-22