Overview
Comment: | Added missing dashboard-guimonitor.scm file |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7ee9f12f6360d880a9a925a2fd7fb4ac |
User & Date: | matt on 2011-10-24 03:36:42 |
Other Links: | manifest | tags |
Context
2011-10-24
| ||
10:59 | Moved monitor and tasks_queue to monitor.db check-in: bae7a5777a user: mrwellan tags: trunk | |
03:36 | Added missing dashboard-guimonitor.scm file check-in: 7ee9f12f63 user: matt tags: trunk | |
2011-10-23
| ||
23:03 | Monitor based runs working well check-in: a1371db27a user: matt tags: trunk | |
Changes
Added dashboard-guimonitor.scm version [cac02e2beb].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | ;;====================================================================== ;; Copyright 2006-2011, Matthew Welland. ;; ;; This program is made available under the GNU GPL version 2.0 or ;; greater. See the accompanying file COPYING for details. ;; ;; This program is distributed WITHOUT ANY WARRANTY; without even the ;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ;; PURPOSE. ;;====================================================================== ;;====================================================================== ;; Test info panel ;;====================================================================== (use format) (require-library iup) (import (prefix iup iup:)) (use canvas-draw) (use sqlite3 srfi-1 posix regex regex-case srfi-69) (import (prefix sqlite3 sqlite3:)) (declare (unit dashboard-guimonitor)) (declare (uses common)) (declare (uses keys)) (declare (uses db)) (declare (uses tasks)) (include "common_records.scm") (include "db_records.scm") (include "run_records.scm") (include "task_records.scm") (define (control-panel db keys) (let* ((var-params (make-hash-table)) ;; register all the widgets here for querying on run, rollup, remove? (key-params (make-hash-table)) (monitordat '()) ;; list of monitor records (keyentries (iup:frame #:title "Keys" (apply iup:vbox (map (lambda (key) (iup:hbox (iup:label (vector-ref key 0) #:size "60x15") ; #:expand "HORIZONTAL") (iup:textbox #:expand "HORIZONTAL" #:action (lambda (obj a val) (hash-table-set! key-params (vector-ref key 0) val))))) keys)))) (othervars (iup:frame #:title "Run Vars" (apply iup:vbox (map (lambda (var) (iup:hbox (iup:label var #:size "60x15") (iup:textbox #:expand "HORIZONTAL" #:action (lambda (obj a val) (hash-table-set! var-params var val))))) (list "runname" "testpatts" "itempatts"))))) (controls (iup:frame #:title "Controls" (iup:hbox (iup:frame #:title "Runs" (iup:hbox (iup:button "Start" #:expand "HORIZONTAL" #:action (lambda (obj) (tasks:add-from-params db "run" keys key-params var-params) (print "Launch Run"))) (iup:button "Remove" #:expand "HORIZONTAL" #:action (lambda (obj) (print "Remove Run"))))) (iup:frame #:title "Misc" (iup:hbox (iup:button "Quit" #:expand "HORIZONTAL" #:action (lambda (obj) (sqlite3:finalize! db) (exit)))))))) (monitors (iup:textbox #:expand "YES" ; HORIZONTAL" ; #:size "x40" #:multiline "YES" #:font "Courier New, -10" #:value "None...............................................")) (actions (iup:textbox #:expand "YES" #:multiline "YES" #:font "Courier New, -10" #:value "None...............................................")) (lastmodtime 0) (next-touch 0) ;; the last time the "last_update" field was updated (refreshdat (lambda () (let ((modtime (file-modification-time (conc *toppath* "/megatest.db"))) (megatestdbpath (conc *toppath* "/megatest.db"))) ;; do stuff here when the db is updated by some other process (if (> modtime lastmodtime) (let ((tlst (tasks:get-tasks db '() '())) (mlst (tasks:get-monitors db))) (set! tasksdat tlst) (set! monitorsdat mlst) (iup:attribute-set! monitors "VALUE" (tasks:monitors->text-table mlst)) (iup:attribute-set! actions "VALUE" (tasks:tasks->text tlst)) (tasks:process-queue db megatestdbpath) (set! lastmodtime modtime) (tasks:reset-stuck-tasks db))) ;; stuff to do every 10 seconds (if (> (current-seconds) next-touch) (begin ;; (tasks:process-queue db megatestdbpath) ;; (tasks:monitors-update db) (tasks:reset-stuck-tasks db) (set! monitorsdat (tasks:get-monitors db)) (set! next-touch (+ (current-seconds) 10)) ))))) (topdialog #f)) (set! topdialog (iup:dialog #:close_cb (lambda (a)(exit)) #:title "Run Controls" (iup:vbox (iup:hbox keyentries othervars) controls (let ((tabtop (iup:tabs monitors actions))) (iup:attribute-set! tabtop "TABTITLE0" "Monitors") (iup:attribute-set! tabtop "TABTITLE1" "Actions") tabtop) ))) ; (iup:frame ; #:title "Monitors" ; monitors) ; (iup:frame ; #:title "Actions" ; actions)))) (iup:show topdialog) (iup:callback-set! *tim* "ACTION_CB" (lambda (x) (refreshdat) (if *exit-started* (set! *exit-started* 'ok)))))) (define (main-window setuptab fsltab collateraltab toolstab) (iup:show (iup:dialog #:title "FSL Power Window" #:size "290x190" ; #:expand "YES" (let ((tabtop (iup:tabs setuptab collateraltab fsltab toolstab))) (iup:attribute-set! tabtop "TABTITLE0" "Setup") (iup:attribute-set! tabtop "TABTITLE1" "Collateral") (iup:attribute-set! tabtop "TABTITLE2" "Fossil") (iup:attribute-set! tabtop "TABTITLE3" "Tools") tabtop)))) (on-exit (lambda () (let ((db (open-db))) (print "On-exit called") (tasks:remove-monitor-record db) (sqlite3:finalize! db)))) (define (gui-monitor db) (let ((keys (get-keys db))) (tasks:register-monitor db) ;;; let the other monitors know we are here (control-panel db keys) ;(tasks:remove-monitor-record db) ;(sqlite3:finalize! db) )) |
Modified tests/megatest.config from [a543ba73e0] to [9392b88636].
1 2 3 4 5 6 7 | [fields] sysname TEXT fsname TEXT datapath TEXT [setup] # exectutable /path/to/megatest | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [fields] sysname TEXT fsname TEXT datapath TEXT [setup] # exectutable /path/to/megatest max_concurrent_jobs 5 runsdir /tmp/runs [jobtools] # useshell yes # ## launcher launches jobs, the job is managed on the target host ## by megatest, comment out launcher to run local # workhosts localhost hermes |
︙ | ︙ |