(in-package :com.tee-it-up-golf.user) (defvar *golf-restarter* nil "CLON Scheduler that restarts the site every night") (defclass golf-site (golgonooza-db:elephant-store-site-mixin ucw-site) () (:default-initargs :data-root *golf-data-root* :store-spec *golf-db-spec*)) (defmethod make-entry-points ((site golf-site)) (create-entry-points)) (defmethod start-site :before ((site golf-site)) (let ((data-root (data-root site))) (setf (applications site) (list (cons :frontend (make-instance 'golf-web:golf-frontend-application :url-prefix "/" :static-roots (list `("static/" . ,(format nil "~A~A" data-root "wwwroot/"))) :javascript-log-level nil)) (cons :backend (make-instance 'golf-web:golf-admin-application :url-prefix "/admin/" :static-roots (list `("static/" . ,(format nil "~A~A" data-root "wwwroot/"))) :javascript-log-level nil)))))) (defun golf-web::get-golf-application (application-name) (find-site-application 'tee-it-up application-name)) ;; (defun start-restarter () ;; (stop-restarter) ;; (setq *golf-restarter* ;; (clon:schedule-function (lambda () ;; (format *debug-io* "Restarting site...") ;; (restart-site)) ;; (clon:make-scheduler ;; (clon:make-typed-cron-schedule :day-of-week '* ;; :hour 2)) ;; :thread t :name "ucw server restarter"))) ;; (defun stop-restarter () ;; (if *golf-restarter* ;; (setq *golf-restarter* ;; (sb-ext:unschedule-timer *golf-restarter*)))) (defun start-golf-site () (register-site 'tee-it-up (make-instance 'golf-site))) (defun stop-golf-site () (unregister-site 'tee-it-up)) (defun restart-golf-site () (stop-golf-site) (start-golf-site))