321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
|
;;
(define (runs:too-soon-delay key dseconds wseconds)
(let* ((last-time (hash-table-ref/default *too-soon-delays* key #f)))
(if (and last-time
(< (- (current-seconds) last-time) dseconds))
(begin
(if (runs:lownoise (conc "too-soon-delay"key) 60)
(debug:print-info 0 *default-log-port* "Polling throttle for "key))
(thread-sleep! wseconds)))
(hash-table-set! *too-soon-delays* key (current-seconds))))
(define (runs:can-run-more-tests runsdat run-id jobgroup max-concurrent-jobs)
;; Take advantage of a good place to exit if running the one-pass methodology
(if (and (> (runs:dat-can-run-more-tests-count runsdat) 20)
|
|
|
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
|
;;
(define (runs:too-soon-delay key dseconds wseconds)
(let* ((last-time (hash-table-ref/default *too-soon-delays* key #f)))
(if (and last-time
(< (- (current-seconds) last-time) dseconds))
(begin
(if (runs:lownoise (conc "too-soon-delay"key) 60)
(debug:print-info 2 *default-log-port* "Polling throttle for "key))
(thread-sleep! wseconds)))
(hash-table-set! *too-soon-delays* key (current-seconds))))
(define (runs:can-run-more-tests runsdat run-id jobgroup max-concurrent-jobs)
;; Take advantage of a good place to exit if running the one-pass methodology
(if (and (> (runs:dat-can-run-more-tests-count runsdat) 20)
|
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
|
(begin
(if (runs:lownoise "too-tight-loop" 5)
(debug:print-info 2 *default-log-port* "Excessively fast loop, delaying 1/2 second"))
(thread-sleep! 0.5)))
(set! *last-loop-time-ms* (current-milliseconds))
(runs:dat-regfull-set! runsdat regfull)
(if (> (- (current-seconds) *last-test-launch*) 5) ;; be pretty aggressive for five seconds after
(runs:too-soon-delay (conc "loop delay " hed) 1 0.6) ;; 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)))
|
>
|
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
|
(begin
(if (runs:lownoise "too-tight-loop" 5)
(debug:print-info 2 *default-log-port* "Excessively fast loop, delaying 1/2 second"))
(thread-sleep! 0.5)))
(set! *last-loop-time-ms* (current-milliseconds))
(runs:dat-regfull-set! runsdat regfull)
(if (> (- (current-seconds) *last-test-launch*) 5) ;; be pretty aggressive for five seconds after
(runs:too-soon-delay (conc "loop delay " hed) 1 0.6) ;; 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)))
|