diff options
Diffstat (limited to 'plugins/app/config.go')
-rw-r--r-- | plugins/app/config.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/plugins/app/config.go b/plugins/app/config.go new file mode 100644 index 00000000..eaa54e2d --- /dev/null +++ b/plugins/app/config.go @@ -0,0 +1,37 @@ +package app + +import "time" + +// Config config combines factory, pool and cmd configurations. +type Config struct { + // Command to run as application. + Command string + + // User to run application under. + User string + + // Group to run application under. + Group string + + // Env represents application environment. + Env Env + + // Listen defines connection method and factory to be used to connect to workers: + // "pipes", "tcp://:6001", "unix://rr.sock" + // This config section must not change on re-configuration. + Relay string + + // RelayTimeout defines for how long socket factory will be waiting for worker connection. This config section + // must not change on re-configuration. Defaults to 60s. + RelayTimeout time.Duration +} + +func (cfg *Config) InitDefaults() { + if cfg.Relay == "" { + cfg.Relay = "pipes" + } + + if cfg.RelayTimeout == 0 { + cfg.RelayTimeout = time.Second * 60 + } +} |