Files
query-orchestration/cmd/queryVersionSyncRunner/main.go
T

49 lines
1.1 KiB
Go
Raw Normal View History

// **Listens For**: Body Containing Query ID
//
// **Action**.
//
// Adds an event for each client into the CLIENTSYNC queue for the given query, i.e. each client that contains the query in its dependency tree.
package main
import (
"context"
"log/slog"
"os"
2025-03-05 12:05:46 +00:00
queryversionsyncrunner "queryorchestration/api/queryVersionSyncRunner"
queryversionsync "queryorchestration/internal/query/versionsync"
"queryorchestration/internal/server/runner"
"queryorchestration/internal/serviceconfig/queue/clientsync"
_ "github.com/lib/pq"
)
type QueryVersionSyncConfig struct {
runner.BaseConfig[queryversionsyncrunner.Body]
clientsync.ClientSyncConfig
}
func main() {
ctx := context.Background()
cfg := &QueryVersionSyncConfig{}
cfg.ControllerFunc = func() runner.Controller[queryversionsyncrunner.Body] {
svc := queryversionsync.New(cfg)
c := queryversionsyncrunner.New(cfg.GetValidator(), &queryversionsyncrunner.Services{
Sync: svc,
})
return &c
}
server, err := runner.New(ctx, cfg)
if err != nil {
slog.Error(err.Error())
os.Exit(1)
}
server.Listen(ctx)
}