Index: runsmod.scm ================================================================== --- runsmod.scm +++ runsmod.scm @@ -251,12 +251,11 @@ ;; to-soon delay, when matching event happened in less than dseconds delay wseconds ;; (define (runs:too-soon-delay key dseconds wseconds) (let* ((last-time (hash-table-ref/default *too-soon-delays* key #f))) - (if (and (> (- (current-seconds) *last-test-launch*) 5) ;; be aggressive for five seconds after starting a test - last-time + (if (and last-time (< (- (current-seconds) last-time) dseconds)) (begin (debug:print-info 4 *default-log-port* "Whoa, slow down there ... "key" has been too recently seen.") (thread-sleep! wseconds))) (hash-table-set! *too-soon-delays* key (current-seconds)))) @@ -1484,11 +1483,13 @@ itemmaps: itemmaps ;; prereqs-not-met: prereqs-not-met ))) (runs:dat-regfull-set! runsdat regfull) - (runs:too-soon-delay (conc "loop delay " hed) 1 1) + (if (> (- (current-seconds) *last-test-launch*) 5) ;; be pretty aggressive for five seconds after + (runs:too-soon-delay (conc "loop delay " hed) 1 1) ;; starting a test then apply more delay + (runs:too-soon-delay (conc "loop delay " hed) 1 0.1)) (if (> num-running 0) (set! last-time-some-running (current-seconds))) (if (> (current-seconds)(+ last-time-some-running (or (configf:lookup *configdat* "setup" "give-up-waiting") 36000)))