@@ -243,33 +243,36 @@ (lambda () (let* ((indat (deserialize)) (newcount (+ *api-process-request-count* 1)) (delay-wait (if (> newcount 10) (- newcount 10) - 0))) + 0)) + (normal-proc (lambda (cmd run-id params) + (case cmd + ((ping) *server-signature*) + (else + (api:dispatch-request dbstruct cmd run-id params)))))) (set! *api-process-request-count* newcount) (set! *db-last-access* (current-seconds)) (match indat ((cmd run-id params meta) (let* ((ttdat *server-info*) (server-state (tt-state ttdat)) (status (cond - ((> newcount 30) 'busy) - ((> newcount 15) 'loaded) + ;; ((> newcount 600) 'busy) + ;; ((> newcount 300) 'loaded) (else 'ok))) (errmsg (case status ((busy) (conc "Server overloaded, "newcount" threads in flight")) ((loaded) (conc "Server loaded, "newcount" threads in flight")) (else #f))) (result (case status - ((busy) (- newcount 29)) - ((loaded) #f) + ((busy) (- newcount 29)) ;; call back in as many seconds + ((loaded) + (normal-proc cmd run-id params)) (else - (case cmd - ((ping) *server-signature*) - (else - (api:dispatch-request dbstruct cmd run-id params)))))) + (normal-proc cmd run-id params)))) (meta (case cmd ((ping) `((sstate . ,server-state))) (else `((wait . ,delay-wait))))) (payload (list status errmsg result meta))) (set! *api-process-request-count* (- *api-process-request-count* 1))