Overview
Comment: | Added exception handler to tasks:open-db |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.60 |
Files: | files | file ages | folders |
SHA1: |
182a73b7ce33063ea4c821d98780eb7f |
User & Date: | mrwellan on 2014-11-14 07:16:07 |
Other Links: | branch diff | manifest | tags |
Context
2014-11-14
| ||
07:50 | Added removal of old tasks entries check-in: 9bebf08382 user: mrwellan tags: v1.60 | |
07:16 | Added exception handler to tasks:open-db check-in: 182a73b7ce user: mrwellan tags: v1.60 | |
2014-11-13
| ||
18:06 | Correctly qualified the check of the connection - was erroring out sometimes check-in: 9b2b3866ab user: mrwellan tags: v1.60 | |
Changes
Modified tasks.scm from [c8e0f86792] to [a4b91e5854].
︙ | ︙ | |||
58 59 60 61 62 63 64 | ;; ==> open it ;; If file exists AND ;; file NOT readable ;; ==> open in-mem version ;; If file NOT exists ;; ==> open in-mem version ;; | | > > > > > > > > > | 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 | ;; ==> open it ;; If file exists AND ;; file NOT readable ;; ==> open in-mem version ;; If file NOT exists ;; ==> open in-mem version ;; (define (tasks:open-db #!key (numretries 4)) (if *task-db* *task-db* (handle-exceptions exn (if (> numretries 0) (begin (thread-sleep! 1) (tasks:open-db numretries (- numretries 1))) (begin (debug:print 0 " message: " ((condition-property-accessor 'exn 'message) exn)) (print "exn=" (condition->list exn)))) (let* ((dbpath (tasks:get-task-db-path)) (avail (tasks:wait-on-journal dbpath 10)) ;; wait up to about 10 seconds for the journal to go away (exists (file-exists? dbpath)) (write-access (file-write-access? dbpath)) (mdb (cond ((file-write-access? *toppath*)(sqlite3:open-database dbpath)) ((file-read-access? dbpath) (sqlite3:open-database dbpath)) |
︙ | ︙ | |||
122 123 124 125 126 127 128 | cmdline TEXT, login_time TIMESTAMP, logout_time TIMESTAMP DEFAULT -1, CONSTRAINT clients_constraint UNIQUE (pid,hostname));") )) (set! *task-db* (cons mdb dbpath)) | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | cmdline TEXT, login_time TIMESTAMP, logout_time TIMESTAMP DEFAULT -1, CONSTRAINT clients_constraint UNIQUE (pid,hostname));") )) (set! *task-db* (cons mdb dbpath)) *task-db*)))) ;;====================================================================== ;; Server and client management ;;====================================================================== ;; make-vector-record tasks hostinfo id interface port pubport transport pid hostname (define (tasks:hostinfo-get-id vec) (vector-ref vec 0)) |
︙ | ︙ |