diff --git a/racketmq/hub.rkt b/racketmq/hub.rkt index 6a52d70..3d06127 100644 --- a/racketmq/hub.rkt +++ b/racketmq/hub.rkt @@ -1,5 +1,8 @@ #lang syndicate/actor +(require racket/cmdline) +(require racket/set) + (require "private/util.rkt") (require "protocol.rkt") @@ -9,11 +12,16 @@ (require/activate "hub/local-topic.rkt") (require/activate "hub/subscription.rkt") -;; Spawn configuration in parallel: -(spawn-configuration "defaults.rktd") -;; -;; ... or assert the required configuration directly: -;; (actor (assert (config (list 'canonical-host "localhost" 7827)))) +(command-line #:program "racketmq" + + #:once-each + ["--canonical-host" host port "Specify the canonical host and port for this hub" + (actor #:name (list 'command-line-canonical-host host port) + (assert (config (list 'canonical-host host (string->number port)))))] + + #:multi + [("-c" "--config") filename "Specify a configuration file to load" + (spawn-configuration filename)]) (actor #:name 'main (during (config (list 'canonical-host $h $p)) diff --git a/racketmq/run b/racketmq/run index e4a5801..c53e4ad 100755 --- a/racketmq/run +++ b/racketmq/run @@ -6,4 +6,4 @@ set -e echo "Starting RacketMQ" exec 2>&1 export PLTSTDERR="$PLTSTDERR debug@racketmq info@syndicate/drivers/web error" -exec racket hub.rkt +exec racket hub.rkt -c live-config.rktd