Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertConfig ¶
type AppConfig ¶
type AppConfig struct {
JobChannelSize int `mapstructure:"job_channel_size" validate:"gte=100,lte=5000"`
ResultChannelSize int `mapstructure:"result_channel_size" validate:"gte=100,lte=5000"`
AlertChannelSize int `mapstructure:"alert_channel_size" validate:"gte=100,lte=5000"`
AppURL string `mapstructure:"app_url"`
}
type AuthConfig ¶
type Config ¶
type Config struct {
Env string `mapstructure:"env" validate:"required,oneof=development staging production"`
ServiceName string `mapstructure:"service_name"`
Port string `mapstructure:"port" validate:"gte=1,lte=65535"`
Auth AuthConfig `mapstructure:"auth" validate:"required"`
App AppConfig `mapstructure:"app" validate:"required"`
Scheduler SchedulerConfig `mapstructure:"scheduler" validate:"required"`
Executor ExecutorConfig `mapstructure:"executor" validate:"required"`
Alert AlertConfig `mapstructure:"alert" validate:"required"`
ResultProcessor ResultProcessorConfig `mapstructure:"result_processor" validate:"required"`
Redis RedisConfig `mapstructure:"redis" validate:"required"`
DB DBConfig `mapstructure:"db" validate:"required"`
}
func LoadConfig ¶
type DBConfig ¶
type DBConfig struct {
URL string `mapstructure:"url" validate:"required,url"`
MaxOpenConns int32 `mapstructure:"max_open_conns" validate:"gt=0"`
MinIdleConns int32 `mapstructure:"min_idle_conns" validate:"gt=0"`
ConnMaxLifetime time.Duration `mapstructure:"conn_max_lifetime" validate:"gt=0"`
ConnMaxIdleTime time.Duration `mapstructure:"conn_max_idle_time" validate:"gt=0"`
HealthTimeout time.Duration `mapstructure:"health_timeout" validate:"gt=0"`
}
type ExecutorConfig ¶
type RedisConfig ¶
type RedisConfig struct {
URL string `mapstructure:"url" validate:"required,url"`
DialTimeout time.Duration `mapstructure:"dial_timeout" validate:"gt=0"`
ReadTimeout time.Duration `mapstructure:"read_timeout" validate:"gt=0"`
WriteTimeout time.Duration `mapstructure:"write_timeout" validate:"gt=0"`
PoolSize int `mapstructure:"pool_size" validate:"gte=1,lte=1000"`
MinIdleConns int `mapstructure:"min_idle_conns" validate:"gt=0"`
ConnMaxLifetime time.Duration `mapstructure:"conn_max_lifetime" validate:"gt=0"`
ConnMaxIdleTime time.Duration `mapstructure:"conn_max_idle_time" validate:"gt=0"`
}
type ResultProcessorConfig ¶
type ResultProcessorConfig struct {
SuccessWorkerCount int `mapstructure:"success_worker_count" validate:"gte=5"`
SuccessChannelSize int `mapstructure:"success_channel_size" validate:"gte=5"`
FailureWorkerCount int `mapstructure:"failure_worker_count" validate:"gte=5"`
FailureChannelSize int `mapstructure:"failure_channel_size" validate:"gte=5"`
FailureThreshold int `mapstructure:"failure_threshold" validate:"gte=1"`
RetryLimit int `mapstructure:"retry_limit" validate:"gte=1"`
}
type SchedulerConfig ¶
Click to show internal directories.
Click to hide internal directories.