Merged in feature/remove-query (pull request #201)
remove query from codebase part 1 * remove query * fix localstack run
This commit is contained in:
@@ -1,52 +1,59 @@
|
||||
// **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.
|
||||
// DEPRECATED: This runner is deprecated and no longer has any functionality.
|
||||
// It is left in place until deployment code is updated accordingly.
|
||||
// See remove_query_plan.md for details on the query removal.
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
queryversionsyncrunner "queryorchestration/api/queryVersionSyncRunner"
|
||||
queryversionsync "queryorchestration/internal/query/versionsync"
|
||||
"queryorchestration/internal/server/runner"
|
||||
"queryorchestration/internal/serviceconfig/build"
|
||||
"queryorchestration/internal/serviceconfig/queue/clientsync"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
type QueryVersionSyncConfig struct {
|
||||
runner.BaseConfig[queryversionsyncrunner.Body]
|
||||
clientsync.ClientSyncConfig
|
||||
}
|
||||
const serviceName = "queryVersionSyncRunner"
|
||||
|
||||
func main() {
|
||||
// Print version information before any environment checks
|
||||
build.PrintVersionInfo("queryVersionSyncRunner")
|
||||
// Print version information
|
||||
build.PrintVersionInfo(serviceName)
|
||||
|
||||
ctx := context.Background()
|
||||
slog.Warn("DEPRECATED: " + serviceName + " is deprecated and no longer has any functionality. " +
|
||||
"This service is left in place until deployment code is updated accordingly.")
|
||||
|
||||
cfg := &QueryVersionSyncConfig{}
|
||||
// Start minimal HTTP server for health checks (required for cloud deployments)
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/health", func(w http.ResponseWriter, _ *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
})
|
||||
|
||||
cfg.ControllerFunc = func() runner.Controller[queryversionsyncrunner.Body] {
|
||||
svc := queryversionsync.New(cfg)
|
||||
|
||||
c := queryversionsyncrunner.New(&queryversionsyncrunner.Services{
|
||||
Sync: svc,
|
||||
})
|
||||
|
||||
return &c
|
||||
server := &http.Server{
|
||||
Addr: ":8080",
|
||||
Handler: mux,
|
||||
ReadHeaderTimeout: time.Minute,
|
||||
}
|
||||
|
||||
server, err := runner.New(ctx, cfg)
|
||||
if err != nil {
|
||||
slog.Error(err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
go func() {
|
||||
slog.Info("Starting health check server on port 8080")
|
||||
if err := server.ListenAndServe(); err != http.ErrServerClosed {
|
||||
slog.Error("Health check server error", "error", err)
|
||||
}
|
||||
}()
|
||||
|
||||
server.Listen(ctx)
|
||||
// Wait for shutdown signal
|
||||
sigChan := make(chan os.Signal, 1)
|
||||
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
|
||||
|
||||
sig := <-sigChan
|
||||
slog.Info(serviceName+" received shutdown signal, exiting gracefully", "signal", sig.String())
|
||||
|
||||
// Gracefully shutdown the HTTP server
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
if err := server.Shutdown(ctx); err != nil {
|
||||
slog.Error("Error shutting down health check server", "error", err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user