Files
DenozordecandCursor 8fe74c1d3b 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]>
2026-07-31 12:26:18 +07:00

33 lines
927 B
Go

package render
import (
"context"
"evobgp/internal/logging"
"fmt"
"evobgp/internal/store"
)
// PublishLatestTenantRevision sets each speaker's published_revision_id to the newest tenant revision (by created_at).
// Simplification for single-tenant / demo stacks; multi-module tenants may prefer explicit publish policies later.
func PublishLatestTenantRevision(ctx context.Context, st store.Backend) {
_ = ctx
tenants, err := st.ListTenantIDs()
if err != nil {
logging.Default().Info(fmt.Sprintf("evobgp-render: list tenants: %v", err))
return
}
for _, tid := range tenants {
revs, _, _ := st.ListRevisions(tid, "", "", 1)
if len(revs) == 0 {
continue
}
rid := revs[0].ID
for _, sp := range st.ListSpeakersForTenant(tid) {
if err := st.PublishRevisionForSpeaker(sp.ID, rid); err != nil {
logging.Default().Info(fmt.Sprintf("evobgp-render: publish speaker %s: %v", sp.ID, err))
}
}
}
}