alt/services/worker/internal/config/config.go
toki 132e92eb68 feat(api, worker): Hello 요청에 context cancellation 처리 및 테스트 보강
- API 서비스 workerclient Hello 함수에 context.Err() 선행 검증 추가
- Hello 요청을 goroutine으로 비동기 처리하고 select로 ctx.Done() 감지
- 이미 초과된 deadline인 경우 즉시 에러 반환
- worker 서비스 config에서 strconv import를 config.go로 이동
- worker socket session handler 및 registerHandlers 테스트 추가
- parser_map 테스트 파일 신규 추가
2026-05-30 19:37:26 +09:00

47 lines
1 KiB
Go

package config
import (
"os"
"strconv"
)
type Config struct {
DatabaseURL string
RedisURL string
RedisKeyPrefix string
WorkerQueue string
Host string
Port int
SocketPath string
}
func Load() Config {
return Config{
DatabaseURL: getenv("DATABASE_URL", "postgres://alt:alt@localhost:5432/alt?sslmode=disable"),
RedisURL: getenv("REDIS_URL", "redis://localhost:6379/0"),
RedisKeyPrefix: getenv("ALT_REDIS_KEY_PREFIX", "alt"),
WorkerQueue: getenv("ALT_WORKER_QUEUE", "default"),
Host: getenv("ALT_WORKER_HOST", "127.0.0.1"),
Port: getenvInt("ALT_WORKER_PORT", 8081),
SocketPath: getenv("ALT_WORKER_SOCKET_PATH", "/socket"),
}
}
func getenv(key, fallback string) string {
if value := os.Getenv(key); value != "" {
return value
}
return fallback
}
func getenvInt(key string, fallback int) int {
value := os.Getenv(key)
if value == "" {
return fallback
}
parsed, err := strconv.Atoi(value)
if err != nil {
return fallback
}
return parsed
}