summaryrefslogtreecommitdiff
path: root/plugins/server/config.go
blob: 2bf30e70e68d70c7eb053017aa541a27696ffc09 (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
38
39
40
package server

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
}

// InitDefaults for the server config
func (cfg *Config) InitDefaults() {
	if cfg.Relay == "" {
		cfg.Relay = "pipes"
	}

	if cfg.RelayTimeout == 0 {
		cfg.RelayTimeout = time.Second * 60
	}
}