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
func GetLogArchivePeriod ¶
func GetLogArchivePeriod() uint
GetLogArchivePeriod returns the archive period
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"` //Logger configurations LoggerConfig *LoggerConfig `yaml:"logger,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 HTTPSConfig ¶
HTTPSConfig keeps additional configurations when using https protocol
type LoggerConfig ¶
type LoggerConfig struct { BasePath string `yaml:"path"` LogLevel string `yaml:"level"` ArchivePeriod uint `yaml:"archive_period"` }
LoggerConfig keeps logger 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.