Improve handling server

This commit is contained in:
Akira Tempaku 2025-05-04 22:48:33 +09:00
parent 604912cf36
commit 776592863c
Signed by: paku
GPG key ID: 5B4E8402BCC50607

View file

@ -9,22 +9,24 @@
#:reload)) #:reload))
(in-package #:website) (in-package #:website)
(defparameter *handler* nil) (defparameter *server* nil)
(defun start () (defun start ()
(if *handler* (when *server*
(format t "The server is already running.~%") (restart-case (error "Server is already running.")
(setf *handler* (clack:clackup *app* (restart-server ()
:server :hunchentoot :report "Restart the server"
:address "localhost" (stop))))
:port 3000)))) (setf *server* (clack:clackup *app*
:server :hunchentoot
:address "localhost"
:port 3000)))
(defun stop () (defun stop ()
(if *handler* (when *server*
(progn (clack:stop *server*)
(clack:stop *handler*) (format t "Server stopped~%")
(setf *handler* nil)) (setf *server* nil)))
(format t "The server is not running.~%")))
(defun reload () (defun reload ()
(stop) (stop)