MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / resolveRedisSettings

Function resolveRedisSettings

tests/loadtest/tools/queue_benchmark.go:206–242  ·  view source on GitHub ↗
(cfg benchmarkConfig)

Source from the content-addressed store, hash-verified

204}
205
206func resolveRedisSettings(cfg benchmarkConfig) (dsn string, skipTLSVerify bool, err error) {
207 if strings.TrimSpace(cfg.redisDSN) != "" {
208 return strings.TrimSpace(cfg.redisDSN), cfg.redisSkipTLS, nil
209 }
210
211 if envDSN := strings.TrimSpace(os.Getenv("LEDGERFORGE_REDIS_DNS")); envDSN != "" {
212 return envDSN, parseEnvBool("LEDGERFORGE_REDIS_SKIP_TLS_VERIFY"), nil
213 }
214
215 if strings.TrimSpace(cfg.configPath) == "" {
216 return "", false, fmt.Errorf("redis DSN not found; pass -redis-dsn, set LEDGERFORGE_REDIS_DNS, or use -config")
217 }
218
219 type redisSection struct {
220 DNS string `json:"dns"`
221 SkipTLSVerify bool `json:"skip_tls_verify"`
222 }
223 type fileConfig struct {
224 Redis redisSection `json:"redis"`
225 }
226
227 data, readErr := os.ReadFile(cfg.configPath)
228 if readErr != nil {
229 return "", false, readErr
230 }
231
232 var parsed fileConfig
233 if unmarshalErr := json.Unmarshal(data, &parsed); unmarshalErr != nil {
234 return "", false, unmarshalErr
235 }
236
237 if strings.TrimSpace(parsed.Redis.DNS) == "" {
238 return "", false, fmt.Errorf("redis.dns missing in config file")
239 }
240
241 return strings.TrimSpace(parsed.Redis.DNS), parsed.Redis.SkipTLSVerify, nil
242}
243
244func takeSnapshot(inspector *asynq.Inspector, cfg benchmarkConfig) (snapshot, error) {
245 queueNames, err := resolveQueueNames(inspector, cfg)

Callers 1

mainFunction · 0.85

Calls 1

parseEnvBoolFunction · 0.85

Tested by

no test coverage detected