summaryrefslogtreecommitdiff
path: root/plugins/factory/config.go
blob: b2d1d0ad50894c1b28162e53c08c8ae3ba5e5f73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package factory

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
	}
}