Files
query-orchestration/cmd/queue/main.go
T
Michael McGuinness 358341e89b Merged in feature/otel (pull request #2)
Adding otel func

* otel
2024-12-17 14:04:14 +00:00

51 lines
956 B
Go

package main
import (
"context"
"gotemplate/api/queue"
"gotemplate/internal/database"
"gotemplate/internal/database/repository"
"gotemplate/internal/env"
"gotemplate/internal/name"
"gotemplate/internal/otel"
"log"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/sqs"
)
func main() {
ctx := context.Background()
closeTracer := otel.Init(ctx)
defer closeTracer()
database.RunMigrations()
cfg, err := config.LoadDefaultConfig(ctx)
if err != nil {
log.Fatalf("Unable to load SDK config: %v", err)
}
queueURL := env.GetRequired("QUEUE_URL")
sqsClient := sqs.NewFromConfig(cfg)
conn := database.GetDBConn(ctx)
db := repository.New(conn)
controllers := queue.Controllers{
Name: *queue.NewNameController(*name.New(ctx, db)),
}
config := queue.Queue{
Controllers: &controllers,
Config: &queue.QueueConfig{
URL: queueURL,
Client: sqsClient,
},
}
queue.PollMessages(ctx, &config)
}