Documentation ¶
Overview ¶
Package config provides functions to handle the configurations of job service.
Index ¶
Constants ¶
const ( // JobServiceProtocolHTTPS points to the 'https' protocol JobServiceProtocolHTTPS = "https" // JobServiceProtocolHTTP points to the 'http' protocol JobServiceProtocolHTTP = "http" // JobServicePoolBackendRedis represents redis backend JobServicePoolBackendRedis = "redis" )
Variables ¶
var DefaultConfig = &Configuration{}
DefaultConfig is the default configuration reference
Functions ¶
func GetAdminServerEndpoint ¶
func GetAdminServerEndpoint() string
GetAdminServerEndpoint return the admin server endpoint
Types ¶
type Configuration ¶
type Configuration struct { // Protocol server listening on: https/http Protocol string `yaml:"protocol"` // Server listening port Port uint `yaml:"port"` AdminServer string `yaml:"admin_server"` // Additional config when using https HTTPSConfig *HTTPSConfig `yaml:"https_config,omitempty"` // Configurations of worker pool PoolConfig *PoolConfig `yaml:"worker_pool,omitempty"` // Job logger configurations JobLoggerConfigs []*LoggerConfig `yaml:"job_loggers,omitempty"` // Logger configurations LoggerConfigs []*LoggerConfig `yaml:"loggers,omitempty"` }
Configuration loads and keeps the related configuration items of job service.
func (*Configuration) Load ¶
func (c *Configuration) Load(yamlFilePath string, detectEnv bool) error
Load the configuration options from the specified yaml file. If the yaml file is specified and existing, load configurations from yaml file first; If detecting env variables is specified, load configurations from env variables; Please pay attentions, the detected env variable will override the same configuration item loading from file.
yamlFilePath string: The path config yaml file readEnv bool : Whether detect the environment variables or not
type CustomizedSettings ¶
type CustomizedSettings map[string]interface{}
CustomizedSettings keeps the customized settings of logger
type HTTPSConfig ¶
HTTPSConfig keeps additional configurations when using https protocol
type LogSweeperConfig ¶
type LogSweeperConfig struct { Duration int `yaml:"duration"` Settings CustomizedSettings `yaml:"settings"` }
LogSweeperConfig keeps settings of log sweeper
type LoggerConfig ¶
type LoggerConfig struct { Name string `yaml:"name"` Level string `yaml:"level"` Settings CustomizedSettings `yaml:"settings"` Sweeper *LogSweeperConfig `yaml:"sweeper"` }
LoggerConfig keeps logger basic configurations.
type PoolConfig ¶
type PoolConfig struct { // Worker concurrency WorkerCount uint `yaml:"workers"` Backend string `yaml:"backend"` RedisPoolCfg *RedisPoolConfig `yaml:"redis_pool,omitempty"` }
PoolConfig keeps worker pool configurations.
type RedisPoolConfig ¶
type RedisPoolConfig struct { RedisURL string `yaml:"redis_url"` Namespace string `yaml:"namespace"` }
RedisPoolConfig keeps redis pool info.