(inspector *asynq.Inspector, cfg benchmarkConfig)
| 278 | } |
| 279 | |
| 280 | func resolveQueueNames(inspector *asynq.Inspector, cfg benchmarkConfig) ([]string, error) { |
| 281 | names := make(map[string]struct{}) |
| 282 | |
| 283 | for _, raw := range strings.Split(cfg.queueNames, ",") { |
| 284 | name := strings.TrimSpace(raw) |
| 285 | if name != "" { |
| 286 | names[name] = struct{}{} |
| 287 | } |
| 288 | } |
| 289 | |
| 290 | prefixes := configuredPrefixes(cfg) |
| 291 | if len(prefixes) > 0 { |
| 292 | all, err := inspector.Queues() |
| 293 | if err != nil { |
| 294 | return nil, err |
| 295 | } |
| 296 | for _, name := range all { |
| 297 | for _, prefix := range prefixes { |
| 298 | if strings.HasPrefix(name, prefix) { |
| 299 | names[name] = struct{}{} |
| 300 | break |
| 301 | } |
| 302 | } |
| 303 | } |
| 304 | } |
| 305 | |
| 306 | resolved := make([]string, 0, len(names)) |
| 307 | for name := range names { |
| 308 | resolved = append(resolved, name) |
| 309 | } |
| 310 | return resolved, nil |
| 311 | } |
| 312 | |
| 313 | func configuredPrefixes(cfg benchmarkConfig) []string { |
| 314 | prefixSet := make(map[string]struct{}) |
no test coverage detected