Documentation ¶
Index ¶
- func ChunkSliceBy[T any](items []T, chunkSize int) (chunks [][]T)
- func InitRedisClient(conf *AppConfig) (*redis.Client, error)
- func LoadEnv() error
- func LoadEnvFromFile(filename string) error
- func NewHttpClient(appConf *AppConfig) *http.Client
- func NewLogger(c *AppConfig) (*zap.Logger, error)
- type AppConfig
- type AppEnv
- type HTTPClientConfig
- type RedisConfig
- type ServerConfig
- type SinkConfig
- type SupervisorConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChunkSliceBy ¶
func InitRedisClient ¶
func LoadEnvFromFile ¶
func NewHttpClient ¶
Types ¶
type AppConfig ¶
type AppConfig struct { AppEnv AppEnv `env:"APP_ENV"` InhooksConfigFile string `env:"INHOOKS_CONFIG_FILE,default=inhooks.yml"` Server ServerConfig Redis RedisConfig Supervisor SupervisorConfig HTTPClient HTTPClientConfig Sink SinkConfig }
type HTTPClientConfig ¶ added in v0.1.3
type RedisConfig ¶ added in v0.1.3
type ServerConfig ¶ added in v0.1.3
type SinkConfig ¶ added in v0.1.3
type SinkConfig struct { DefaultDelay time.Duration `env:"SINK_DEFAULT_DELAY,default=0"` DefaultMaxAttempts int `env:"SINK_DEFAULT_MAX_ATTEMPTS,default=3"` DefaultRetryInterval time.Duration `env:"SINK_DEFAULT_RETRY_AFTER,default=0"` // default retry exponential mutiplier is 1 (constant backoff) DefaultRetryExpMultiplier float64 `env:"SINK_DEFAULT_RETRY_EXP_MULTIPLIER,default=1"` }
type SupervisorConfig ¶ added in v0.1.3
type SupervisorConfig struct { ReadyWaitTime time.Duration `env:"SUPERVISOR_READY_WAIT_TIME,default=5s"` ErrSleepTime time.Duration `env:"SUPERVISOR_ERR_SLEEP_TIME,default=5s"` // interval between scheduler runs to move scheduled jobs to "ready for processing" queue SchedulerInterval time.Duration `env:"SUPERVISOR_SCHEDULER_INTERVAL,default=30s"` // interval to move back stuck messages from processing to ready queue ProcessingRecoveryInterval time.Duration `env:"SUPERVISOR_PROCESSING_RECOVERY_INTERVAL,default=5m"` // enables deleting done messages from the database after DoneQueueCleanupDelay DoneQueueCleanupEnabled bool `env:"SUPERVISOR_DONE_QUEUE_CLEANUP_ENABLED,default=false"` // delay after which done messages are deleted from the database. Default 14 days = 336 hours DoneQueueCleanupDelay time.Duration `env:"SUPERVISOR_DONE_QUEUE_CLEANUP_DELAY,default=336h"` // interval between done queue cleanup runs DoneQueueCleanupInterval time.Duration `env:"SUPERVISOR_DONE_QUEUE_CLEANUP_INTERVAL,default=60m"` }
Supervisor queues handling settings
Click to show internal directories.
Click to hide internal directories.