Index: client.scm ================================================================== --- client.scm +++ client.scm @@ -48,22 +48,22 @@ ((rpc) (rpc:client-connect iface port)) ((http) (http:client-connect iface port)) ((zmq) (zmq:client-connect iface port)) (else (rpc:client-connect iface port)))) -(define (client:login-no-auto-setup server-info run-id) - (case (server:get-transport) - ((rpc) (rpc:login-no-auto-client-setup server-info run-id)) - ((http) (rmt:login-no-auto-client-setup server-info run-id)) - (else (rpc:login-no-auto-client-setup server-info run-id)))) - (define (client:setup run-id #!key (remaining-tries 10) (failed-connects 0)) (case (server:get-transport) ((rpc) (rpc-transport:client-setup run-id)) ;;(client:setup-rpc run-id)) ((http)(client:setup-http run-id)) (else (rpc-transport:client-setup run-id)))) ;; (client:setup-rpc run-id)))) +;; (define (client:login-no-auto-setup server-info run-id) +;; (case (server:get-transport) +;; ((rpc) (rpc:login-no-auto-client-setup server-info run-id)) +;; ((http) (rmt:login-no-auto-client-setup server-info run-id)) +;; (else (rpc:login-no-auto-client-setup server-info run-id)))) +;; ;; (define (client:setup-rpc run-id) ;; (debug:print 0 "INFO: client:setup remaining-tries=" remaining-tries) ;; (if (<= remaining-tries 0) ;; (begin ;; (debug:print 0 "ERROR: failed to start or connect to server for run-id " run-id) Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -101,11 +101,12 @@ (if connection-info ;; use the server if have connection info (let* ((dat (case *transport-type* ((http)(condition-case (http-transport:client-api-send-receive run-id connection-info cmd params) - ((commfail)(vector #f "communications fail")))) + ((commfail)(vector #f "communications fail")) + ((exn)(vector #f "other fail")))) ((nmsg)(condition-case (nmsg-transport:client-api-send-receive run-id connection-info cmd params) ((timeout)(vector #f "timeout talking to server")))) (else (exit)))) (success (if (vector? dat) (vector-ref dat 0) #f)) @@ -234,13 +235,15 @@ res))) (define (rmt:send-receive-no-auto-client-setup connection-info cmd run-id params) (let* ((run-id (if run-id run-id 0)) ;; (jparams (db:obj->string params)) ;; (rmt:dat->json-str params)) - (res (condition-case - (http-transport:client-api-send-receive run-id connection-info cmd params) - ((commfail) #f)))) ;; (vector #f "communications fail"))))) + (res (handle-exceptions + exn + #f + (http-transport:client-api-send-receive run-id connection-info cmd params)))) +;; ((commfail) (vector #f "communications fail"))))) (if (and res (vector-ref res 0)) res #f))) ;; (db:string->obj (vector-ref dat 1)) ;; (begin Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -386,11 +386,14 @@ (th2 (make-thread (lambda () ;; (rmt:find-and-mark-incomplete-all-runs))))) CAN'T INTERRUPT IT ... (let ((run-ids (rmt:get-all-run-ids))) (for-each (lambda (run-id) (if keep-going - (rmt:find-and-mark-incomplete run-id #f))) ;; ovr-deadtime))) + (handle-exceptions + exn + (debug:print 0 "error in calling find-and-mark-incomplete for run-id " run-id) + (rmt:find-and-mark-incomplete run-id #f)))) ;; ovr-deadtime))) run-ids))) "runs: mark-incompletes"))) (thread-start! th1) (thread-start! th2) (thread-join! th1)