Files
query-orchestration/cmd/queryRunner/main.go
T
Michael McGuinness 57764272c3 Merged in feature/unittests (pull request #9)
Feature/unittests

* addedmoretests

* easyquerytests

* fixotelinit

* preppedqueriestotestcontainer

* dbqueries

* splitintoqueryfiles

* covered the bases
2025-01-08 18:14:15 +00:00

58 lines
1.2 KiB
Go

package main
import (
"context"
"log"
"queryorchestration/api/queue"
"queryorchestration/internal/database"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/document"
"queryorchestration/internal/env"
"queryorchestration/internal/otel"
queueSVC "queryorchestration/internal/queue"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/sqs"
"github.com/go-playground/validator/v10"
)
func main() {
ctx := context.Background()
closeTracer := otel.New(ctx)
defer closeTracer()
database.RunMigrations(&database.MigrationConfig{})
cfg, err := config.LoadDefaultConfig(ctx)
if err != nil {
log.Panicf("Unable to load SDK config: %v", err)
}
queueURL := env.GetPanic("QUEUE_URL")
sqsClient := sqs.NewFromConfig(cfg)
dbPool := database.GetDBPool(ctx)
dbQueries := repository.New(dbPool)
db := &database.Connection{
Pool: dbPool,
Queries: dbQueries,
}
valid := validator.New()
controllers := queue.Controllers{
Document: *queue.NewDocumentController(*document.New(db), valid),
}
config := queue.Queue{
Controllers: &controllers,
Config: &queueSVC.QueueConfig{
URL: queueURL,
Client: sqsClient,
},
}
queue.PollMessages(ctx, &config)
}