package main import ( "context" controllers "queryorchestration/api/queryRunner" "queryorchestration/internal/job/collector" "queryorchestration/internal/query" "queryorchestration/internal/query/document" "queryorchestration/internal/server" "queryorchestration/internal/server/queue" _ "github.com/lib/pq" ) func main() { ctx := context.Background() queryrunner := func(cfg *server.Config) queue.Controller { que := query.New(cfg.Database) coll := collector.New(cfg.Database, &collector.Services{ Query: que, }) svc := document.New(cfg.Database, &document.Services{ Collector: coll, }) return controllers.NewQueryRunner(svc, cfg.Validator) } server := queue.NewServer(ctx, &queue.ListenerConfig{ Controller: queryrunner, }) server.Listen(ctx) }