408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
|
+
-
+
+
|
(call-num (car last-run-dat))
(when-run (cadr last-run-dat))
(run-delay (+ (case call-num
((0) 0)
((1) 20)
((2) 300)
(else 600))
;(random 5)
(random 5))) ;; add a small random number just in case a lot of jobs hit the work hosts simultaneously
0)) ;; add a small random number just in case a lot of jobs hit the work hosts simultaneously
(lock-file (conc areapath "/logs/server-start.lock")))
(if (> (- (current-seconds) when-run) run-delay)
(let* ((start-flag (conc areapath "/logs/server-start-last")))
(common:simple-file-lock-and-wait lock-file expire-time: 15)
(debug:print-info 0 *default-log-port* "server:kind-run: touching " start-flag)
(system (conc "touch " start-flag)) ;; lazy but safe
(server:run areapath)
|