58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
+
-
+
|
(define (client:setup run-id #!key (remaining-tries 10) (failed-connects 0))
(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)
(exit 1))
(let ((host-info (hash-table-ref/default *runremote* run-id #f)))
(debug:print-info 0 "client:setup host-info=" host-info ", remaining-tries=" remaining-tries)
(if host-info
(let* ((iface (car host-info))
(port (cadr host-info))
(start-res (http-transport:client-connect iface port))
;; (ping-res (server:ping-server run-id iface port))
(ping-res (rmt:login-no-auto-client-setup server-dat run-id)))
(ping-res (rmt:login-no-auto-client-setup start-res run-id)))
(if ping-res ;; sucessful login?
(begin
(hash-table-set! *runremote* run-id start-res)
start-res) ;; return the server info
(if (member remaining-tries '(3 4 6))
(begin ;; login failed
(debug:print 25 "INFO: client:setup start-res=" start-res ", run-id=" run-id ", server-dat=" host-info)
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
+
|
(client:setup run-id remaining-tries: 10)) ;; (- remaining-tries 1)))
(begin
(debug:print 25 "INFO: client:setup failed to connect, start-res=" start-res ", run-id=" run-id ", host-info=" host-info)
(thread-sleep! 5)
(client:setup run-id remaining-tries: (- remaining-tries 1))))))
;; YUK: rename server-dat here
(let* ((server-dat (open-run-close tasks:get-server tasks:open-db run-id)))
(debug:print-info 0 "client:setup server-dat=" server-dat ", remaining-tries=" remaining-tries)
(if server-dat
(let* ((iface (tasks:hostinfo-get-interface server-dat))
(port (tasks:hostinfo-get-port server-dat))
(start-res (http-transport:client-connect iface port))
;; (ping-res (server:ping-server run-id iface port))
(ping-res (rmt:login-no-auto-client-setup start-res run-id)))
(if start-res
|