Worker: allow overriding worker name from environment
Allow overriding the worker name by setting the `FLAMENCO_WORKER_NAME` environment variable. This makes it easy to do from Docker configs, and, more importantly, from the scripts I use to run multiple workers on the same machine while developing Flamenco.
This commit is contained in:
parent
857704c184
commit
7327896db9
@ -10,6 +10,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
@ -18,6 +19,8 @@ import (
|
||||
"git.blender.org/flamenco/pkg/api"
|
||||
)
|
||||
|
||||
const workerNameEnvVariable = "FLAMENCO_WORKER_NAME"
|
||||
|
||||
var (
|
||||
errSignOnCanceled = errors.New("sign-on cancelled") // For example by closing the context.
|
||||
errSignOnRepeatableFailure = errors.New("unable to sign on at Manager, try again later") // For example failed connections
|
||||
@ -179,6 +182,16 @@ func signOn(ctx context.Context, cfg WorkerConfig, client FlamencoClient) (api.W
|
||||
|
||||
// mustHostname either the hostname or logs a fatal error.
|
||||
func mustHostname() string {
|
||||
name, ok := os.LookupEnv(workerNameEnvVariable)
|
||||
if ok && name != "" {
|
||||
name = strings.TrimSpace(name)
|
||||
log.Info().
|
||||
Str("name", name).
|
||||
Str("fromVariable", workerNameEnvVariable).
|
||||
Msg("worker name obtained from environment variable instead of using the hostname")
|
||||
return name
|
||||
}
|
||||
|
||||
hostname, err := os.Hostname()
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("error getting hostname")
|
||||
|
Loading…
x
Reference in New Issue
Block a user