From d60eab20bbbc0fa4cc5976a75fff8ecbb3e6f68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 28 Jun 2022 11:43:40 +0200 Subject: [PATCH] Worker: allow setting the Manager URL from the commandline This makes it possible to start Flamenco Worker at Blender Studio with a worker-local current working directory, with the executable in a shared filesystem. --- cmd/flamenco-worker/main.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cmd/flamenco-worker/main.go b/cmd/flamenco-worker/main.go index 67462402..6bd96b45 100644 --- a/cmd/flamenco-worker/main.go +++ b/cmd/flamenco-worker/main.go @@ -76,7 +76,19 @@ func main() { return } + // Load configuration, and override things from the CLI arguments if necessary. configWrangler := worker.NewConfigWrangler() + if cliArgs.managerURL != nil { + url := cliArgs.managerURL.String() + log.Info().Str("manager", url).Msg("using Manager URL from commandline") + + // Before the config can be overridden, it has to be loaded. + if _, err := configWrangler.WorkerConfig(); err != nil { + log.Fatal().Err(err).Msg("error loading worker configuration") + } + + configWrangler.SetManagerURL(url) + } // Give the auto-discovery some time to find a Manager. discoverTimeout := 10 * time.Minute @@ -179,7 +191,7 @@ func parseCliArgs() { flag.BoolVar(&cliArgs.trace, "trace", false, "Enable trace-level logging.") // TODO: make this override whatever was stored in the configuration file. - // flag.StringVar(&cliArgs.manager, "manager", "", "URL of the Flamenco Manager.") + flag.StringVar(&cliArgs.manager, "manager", "", "URL of the Flamenco Manager.") flag.BoolVar(&cliArgs.register, "register", false, "(Re-)register at the Manager.") flag.BoolVar(&cliArgs.findManager, "find-manager", false, "Autodiscover a Manager, then quit.")