@@ -324,21 +324,22 @@ ;; (define (server:wait-for-server-start-last-flag areapath) (let* ((start-flag (conc areapath "/logs/server-start-last"))) (if (file-exists? start-flag) (let* ((fmodtime (file-modification-time start-flag)) - (reftime (+ 2 (random 3))) - (delta (- (current-seconds) fmodtime)) - (all-go (> delta reftime))) - (if all-go - #t ;; (system (conc "touch " start-flag)) ;; lazy but safe + (reftime (+ 3 (random 5))) + (delta (- (current-seconds) fmodtime))) + (if (> delta reftime) ;; good enough (begin - (debug:print-info 0 *default-log-port* "Gating server start, last start: " - fmodtime ", delta: " delta ", reftime: " reftime ", all-go=" all-go) + (debug:print-info 0 *default-log-port* "Ready to start server, last start: " + fmodtime ", delta: " delta ", reftime: " reftime) + (system (conc "touch " start-flag))) ;; lazy but safe + (begin (thread-sleep! 5) (server:wait-for-server-start-last-flag areapath)))) - #;(system (conc "touch " start-flag))))) + (system (conc "touch " start-flag))))) + ;; kind start up of servers, wait 40 seconds before allowing another server for a given ;; run-id to be launched ;; (define (server:kind-run areapath)