Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -2649,10 +2649,11 @@ (for-each (lambda (runrec) (let* ((run-id (simple-run-id runrec)) (full-targ-runname (conc (simple-run-target runrec) "/" (simple-run-runname runrec)))) + (debug:print 0 *default-log-port* "Update run " run-id) (sparse-vector-set! (dboard:rdat-runs rdat) run-id runrec) (hash-table-set! (dboard:rdat-targ-runid rdat) full-targ-runname run-id) )) data) numruns)) @@ -2671,28 +2672,35 @@ (test-status-sql-filt (dboard:rdat-test-status-sql-filt rdat)) ;; not used yet (tests (rmt:get-tests-for-run-state-status run-id testname-sql-filt last-update ;; last-update ))) - (debug:print 0 *default-log-port* "Got " (length tests) " tests for run-id " run-id " testname-sql-filt " testname-sql-filt " and last-update " last-update) + (sparse-vector-set! (dboard:rdat-last-updates rdat) run-id (- curr-time 1)) + (debug:print 0 *default-log-port* "Got " (length tests) " tests for run-id " run-id " testname-sql-filt " testname-sql-filt " and last-update " last-update) ;; " runrec: " runrec) (length tests))) (define (new-runs-updater commondat rdat) - (let* ((runnum (dboard:rdat-runnum rdat))) + (let* ((runnum (dboard:rdat-runnum rdat)) + (start-time (current-milliseconds)) + (tot-runs #f)) (if (eq? runnum 0)(dashboard:update-runs-data rdat)) - (dashboard:update-run-data runnum rdat) - (dboard:rdat-runnum-set! rdat (if (>= runnum (vector-length (dboard:rdat-runsbynum rdat))) - 0 - (+ runnum 1))) - - + (set! tot-runs (vector-length (dboard:rdat-runsbynum rdat))) + (let loop ((rn runnum)) + (if (and (< (- (current-milliseconds) start-time) 500) + (< rn tot-runs)) + (let* ((newrn (if (>= runnum (vector-length (dboard:rdat-runsbynum rdat))) + 0 ;; start over + (+ rn 1)))) ;; (+ runnum 1))) + (dashboard:update-run-data rn rdat) + (dboard:rdat-runnum-set! rdat newrn) + (if (> newrn 0) + (loop newrn))))) + (if (>= (dboard:rdat-runnum rdat) tot-runs) + (dboard:rdat-runnum-set! rdat 0)) + ;; (dboard:rdat-runnum-set! rdat rn))) ;; not needed as it is set above ;; (dboard:rdat-last-update-set! rdat (- (current-seconds) 10)) - - ;; (tree:add-node tb "Runs" (string-split full-targ-runname "/")) - - '())) (define (dboard:runs-new-matrix commondat rdat) (iup:matrix #:alignment1 "ALEFT"