Overview
Comment: | portlogger tweaks |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.65-multi-db |
Files: | files | file ages | folders |
SHA1: |
da6d7b66552aac978cb586e2851fb56d |
User & Date: | matt on 2019-02-02 18:54:42 |
Other Links: | branch diff | manifest | tags |
Context
2019-02-02
| ||
18:55 | Merged changes from v1.65 check-in: 3484aad005 user: matt tags: v1.65-multi-db | |
18:54 | portlogger tweaks check-in: da6d7b6655 user: matt tags: v1.65-multi-db | |
07:55 | Converted portlogger to a module, adjusted Makefile accordingly check-in: b0a3cd70ab user: matt tags: v1.65-multi-db | |
Changes
Modified Makefile from [7fc24d5f72] to [bb3be19627].
︙ | ︙ | |||
406 407 408 409 410 411 412 | if csi -ne '(use mysql-client)';then \ echo "(use mysql-client)(hash-table-set! *available-db* 'mysql #t)" >> altdb.scm; \ fi if csi -ne '(use postgresql)';then \ echo "(use postgresql)(hash-table-set! *available-db* 'postgresql #t)" >> altdb.scm;\ fi | | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | if csi -ne '(use mysql-client)';then \ echo "(use mysql-client)(hash-table-set! *available-db* 'mysql #t)" >> altdb.scm; \ fi if csi -ne '(use postgresql)';then \ echo "(use postgresql)(hash-table-set! *available-db* 'postgresql #t)" >> altdb.scm;\ fi portlogger-example : portlogger-example.scm portlogger.o csc $(CSCOPTS) portlogger-example.scm portlogger.o # create a pdf dot graphviz diagram from notations in rmt.scm rmt.pdf : rmt.scm grep ';;DOT' rmt.scm | sed -e 's/.*;;DOT //' > rmt.dot;dot -Tpdf rmt.dot -o rmt.pdf buildmanual: cd docs/manual && make |
︙ | ︙ |
Modified megatest.scm from [35ba0a4899] to [a17c516bda].
︙ | ︙ | |||
2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 | (else (begin (set! *db* dbstruct) (import extras) ;; might not be needed ;; (import csi) (import readline) (import apropos) ;; (import (prefix sqlite3 sqlite3:)) ;; doesn't work ... (if *use-new-readline* (begin (install-history-file (get-environment-variable "HOME") ".megatest_history") ;; [homedir] [filename] [nlines]) (current-input-port (make-readline-port "megatest> "))) (begin | > | 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 | (else (begin (set! *db* dbstruct) (import extras) ;; might not be needed ;; (import csi) (import readline) (import apropos) (import portlogger) ;; (import (prefix sqlite3 sqlite3:)) ;; doesn't work ... (if *use-new-readline* (begin (install-history-file (get-environment-variable "HOME") ".megatest_history") ;; [homedir] [filename] [nlines]) (current-input-port (make-readline-port "megatest> "))) (begin |
︙ | ︙ |
Modified portlogger-example.scm from [79b0759ae8] to [075b5430bd].
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 | ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. (declare (uses portlogger)) (print (apply portlogger:main (cdr (argv)))) | > > > > > > > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. (declare (uses portlogger)) (import portlogger) (use trace (prefix sqlite3 sqlite3:)) (trace portlogger:open-db portlogger:take-port portlogger:open-run-close sqlite3:execute ) (print (apply portlogger:main (cdr (argv)))) |
Modified portlogger.scm from [9dcb9ddb36] to [6ef6750d8e].
︙ | ︙ | |||
32 33 34 35 36 37 38 | portlogger:set-port portlogger:release-port portlogger:set-failed portlogger:is-port-in-use portlogger:main ) | | | | | | > > | > > < | | 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 | portlogger:set-port portlogger:release-port portlogger:set-failed portlogger:is-port-in-use portlogger:main ) (import scheme posix chicken data-structures ports) (require-extension (srfi 18) extras tcp s11n) (use srfi-1 posix srfi-69 hostinfo dot-locking z3 regex) (use (prefix sqlite3 sqlite3:)) (use (prefix mtconfigf configf:)) ;; lsof -i (define *configdat* #f) (define (portlogger:set-configdat! cfgdat) (set! *configdat* cfgdat)) (define (debug:print level port . params) (with-output-to-port port (lambda ()(apply print params)))) (define debug:print-error debug:print) (define *default-log-port* (current-error-port)) (define (portlogger:set-printers! pdebug pdebugerr) (set! debug:print pdebug) (set! debug:print-error pdebugerr)) (define (portlogger:set-default-log-port! port) (set! *default-log-port* port)) (define (portlogger:open-db fname) (let* ((avail #t) ;; for now - assume wait on journal not needed (tasks:wait-on-journal fname 5 remove: #t)) ;; wait up to about 10 seconds for the journal to go away (exists (file-exists? fname)) (db (if avail (sqlite3:open-database fname) (begin (system (conc "rm -f " fname)) (sqlite3:open-database fname)))) (handler (sqlite3:make-busy-timeout 136000)) (canwrite (file-write-access? fname))) (sqlite3:set-busy-handler! db handler) (sqlite3:execute db "PRAGMA synchronous = 0;") (sqlite3:execute db "CREATE TABLE IF NOT EXISTS ports ( port INTEGER PRIMARY KEY, state TEXT DEFAULT 'not-used', fail_count INTEGER DEFAULT 0, update_time TIMESTAMP DEFAULT (strftime('%s','now')) );") db)) |
︙ | ︙ | |||
191 192 193 194 195 196 197 | ;; (define (portlogger:is-port-in-use port-num) (let-values (((inp oup pid) (process "netstat" (list "-tulpn" )))) (let loop ((inl (read-line inp))) (if (not (eof-object? inl)) (begin | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | ;; (define (portlogger:is-port-in-use port-num) (let-values (((inp oup pid) (process "netstat" (list "-tulpn" )))) (let loop ((inl (read-line inp))) (if (not (eof-object? inl)) (begin (if (string-search (regexp (conc ":" port-num "\\s+")) inl) #t (loop (read-line inp)))))))) ;;====================================================================== ;; MAIN ;;====================================================================== |
︙ | ︙ | |||
222 223 224 225 226 227 228 | ((find)(portlogger:find-port db)) ((set) (let ((port (cadr args)) (state (caddr args))) (portlogger:set-port db (if (number? port) port (string->number port)) state) state)) | | > | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | ((find)(portlogger:find-port db)) ((set) (let ((port (cadr args)) (state (caddr args))) (portlogger:set-port db (if (number? port) port (string->number port)) state) state)) ((failed)(portlogger:set-failed db (string->number (cadr args))) 'failed) (else "nosuchcommand"))))) (sqlite3:finalize! db) result)) ;; (print (apply portlogger:main (cdr (argv)))) ) |