Overview
Comment: | Hack for variable number of servers (default 3) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | multi-server-hack |
Files: | files | file ages | folders |
SHA1: |
e86b57ccb0ed332b7d435aa428858672 |
User & Date: | matt on 2017-03-23 16:52:30 |
Other Links: | branch diff | manifest | tags |
Context
2017-03-23
| ||
17:50 | Couple fixes for variable server hack check-in: 842f12e5fe user: matt tags: multi-server-hack | |
16:52 | Hack for variable number of servers (default 3) check-in: e86b57ccb0 user: matt tags: multi-server-hack | |
13:56 | Added message when server is forced Closed-Leaf check-in: 6a476e9ca7 user: matt tags: runaway-servers-fix | |
Changes
Modified server.scm from [ba8be5ee9a] to [07841d493c].
︙ | ︙ | |||
238 239 240 241 242 243 244 245 246 247 248 249 250 251 | (define (server:get-first-best areapath) (let ((srvrs (server:get-best (server:get-list areapath)))) (if (and srvrs (not (null? srvrs))) (car srvrs) #f))) (define (server:record->url servr) (match-let (((mod-time host port start-time pid) servr)) (if (and host port) (conc host ":" port) #f))) | > > > > > > > > > | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | (define (server:get-first-best areapath) (let ((srvrs (server:get-best (server:get-list areapath)))) (if (and srvrs (not (null? srvrs))) (car srvrs) #f))) (define (server:get-rand-best areapath) (let ((srvrs (server:get-best (server:get-list areapath)))) (if (list? srvrs) (let* ((len (length srvrs)) (idx (random len))) (list-ref srvrs idx)) #f))) (define (server:record->url servr) (match-let (((mod-time host port start-time pid) servr)) (if (and host port) (conc host ":" port) #f))) |
︙ | ︙ | |||
290 291 292 293 294 295 296 | (thread-sleep! 5) (loop (server:check-if-running areapath))))))) (define server:try-running server:run) ;; there is no more per-run servers ;; REMOVE ME. BUG. ;; no longer care if multiple servers are started by accident. older servers will drop off in time. ;; | | > > | | | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | (thread-sleep! 5) (loop (server:check-if-running areapath))))))) (define server:try-running server:run) ;; there is no more per-run servers ;; REMOVE ME. BUG. ;; no longer care if multiple servers are started by accident. older servers will drop off in time. ;; (define (server:check-if-running areapath #!key (numservers "2")) (let* ((ns (string->number (or (configf:lookup *configdat* "server" "numservers") numservers))) (servers (server:get-best (server:get-list areapath)))) (if (< (length servers) (random ns)) ;; somewhere between 0 and numservers #f (let loop ((hed (car servers)) (tal (cdr servers))) (let ((res (server:check-server hed))) (if res res (if (null? tal) |
︙ | ︙ |