service creator added

This commit is contained in:
2026-10-04 23:18:40 +02:00
parent 106800b257
commit ae92d284ce
+42 -1
View File
@@ -4,11 +4,13 @@
racket/contract racket/contract
racket/format racket/format
racket/string racket/string
racket/os
simple-log simple-log
"private-player-agent/player-agent-config.rkt" "private-player-agent/player-agent-config.rkt"
"private-player-agent/player-agent-core.rkt") "private-player-agent/player-agent-core.rkt")
(provide run-player-agent-cli) (provide run-player-agent-cli
create-player-agent-service-file)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Supporting functions ;; Supporting functions
@@ -125,6 +127,45 @@
(kill-thread monitor)) (kill-thread monitor))
((player-agent-runtime-shutdown! runtime)))))) ((player-agent-runtime-shutdown! runtime))))))
(define (create-player-agent-service-file url filename)
(let ((fh (open-output-file filename #:exists? 'replace)))
(for-each (lambda (l)
(displayln l out))
(list
"[Unit]"
"Description=Racket Web Player Agent"
"After=network.target"
""
"[Service]"
"Type=simple"
"User=root"
"Group=root"
""
"WorkingDirectory=/tmp"
""
(string-append
"ExecStart=/usr/local/bin/racket "
"-e "
"\"(require rkt-web-player/player-agent-cli) "
"(run-player-agent-cli #:server-url \\\"" url "\\\" #:name " (gethostname) ")\""
)
""
"Restart=on-failure"
"RestartSec=5"
""
"TimeoutStopSec=30"
""
"[Install]"
"WantedBy=multi-user.target"
)
)
(close-output-port fh)))
(module+ main (module+ main
(define server-url #f) (define server-url #f)
(define name #f) (define name #f)