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