refactor: update worker processes in EvoBGP to accept dependencies for shared store and job registry. Enhance scheduler, ingest, render, and deploy components to utilize a unified context and improve logging for drift detection. Update architecture documentation to reflect changes in process interactions and worker functionalities.
CI / changes (push) Successful in 5s
CI / go (push) Failing after 9s
CI / openapi (push) Has been skipped
CI / bird2 (push) Has been skipped

This commit is contained in:
Denozordec
2026-04-05 17:42:07 +07:00
parent 5d21f013cf
commit b7968db4e0
22 changed files with 936 additions and 77 deletions
+19 -1
View File
@@ -5,9 +5,12 @@ import (
"log"
"os"
"os/signal"
"strings"
"syscall"
"time"
"evobgp/internal/config"
"evobgp/internal/httpapi"
"evobgp/internal/render"
)
@@ -20,5 +23,20 @@ func main() {
log.Printf("%s starting (reference profile worker)", name)
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
render.Run(ctx)
bctx, bcancel := context.WithTimeout(context.Background(), 90*time.Second)
defer bcancel()
opts := httpapi.Options{
DatabaseURL: strings.TrimSpace(os.Getenv("EVOBGP_DATABASE_URL")),
SeedDemo: os.Getenv("EVOBGP_SEED_DEMO") != "0",
}
st, _, pool, err := httpapi.BootstrapWorkers(bctx, opts)
if err != nil {
log.Fatal(err)
}
if pool != nil {
defer pool.Close()
}
render.Run(ctx, &render.Deps{Store: st})
}