feat(jobs): add durable PG queue reclaim, slog, and richer metrics
JSON slog в ключевых пакетах; Prometheus path_group, job_audit_depth, upstream breaker; job_audit ClaimQueued/ReclaimStaleRunning + Adopt loop для HA после рестарта. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -2,7 +2,8 @@ package render
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"evobgp/internal/logging"
|
||||
"fmt"
|
||||
|
||||
"evobgp/internal/store"
|
||||
)
|
||||
@@ -13,7 +14,7 @@ func PublishLatestTenantRevision(ctx context.Context, st store.Backend) {
|
||||
_ = ctx
|
||||
tenants, err := st.ListTenantIDs()
|
||||
if err != nil {
|
||||
log.Printf("evobgp-render: list tenants: %v", err)
|
||||
logging.Default().Info(fmt.Sprintf("evobgp-render: list tenants: %v", err))
|
||||
return
|
||||
}
|
||||
for _, tid := range tenants {
|
||||
@@ -24,7 +25,7 @@ func PublishLatestTenantRevision(ctx context.Context, st store.Backend) {
|
||||
rid := revs[0].ID
|
||||
for _, sp := range st.ListSpeakersForTenant(tid) {
|
||||
if err := st.PublishRevisionForSpeaker(sp.ID, rid); err != nil {
|
||||
log.Printf("evobgp-render: publish speaker %s: %v", sp.ID, err)
|
||||
logging.Default().Info(fmt.Sprintf("evobgp-render: publish speaker %s: %v", sp.ID, err))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user