Catalog Pipeline

Fluxo global: sync → process → auto-category → clean images (404) → clean-games (launch) → materialize CDN → republish CDN → link brand. Casinos já linkados recebem o catálogo novo via evento casino.catalog.published.v1.

failed to connect to `user=casino_app database=casino_dev`: 100.87.176.97:5432 (100.87.176.97): dial error: dial tcp 100.87.176.97:5432: connect: connection refused

Steps

Clean images remove jogos cujas thumbs retornam 404/410 (ex. Spinomenal em imagensfivers.com). Clean games remove jogos cujo launch falha no provedor. Materialize CDN baixa thumbs dos adapters, converte para webp/avif e publica em cdn…/games/. Use Maintenance diário na rotina (sem clean-games) ou Maintenance semanal com launch probe. Pipeline async enfileira job no catalog-worker; First impression usa fast path (sync→process→publish, SLO ~5min); Refine corre clean images, CDN e taxonomy em background. Pipeline sync roda 1–8 em uma chamada HTTP no engine.

Generations & rollback

Com CATALOG_PIPELINE_V2=true, cada fast path cria uma generation activável. Rollback reactiva uma generation completed anterior.

Nenhuma generation activa (ou API indisponível)

Reset catálogo (destrutivo)

Use para recomeçar o ciclo correcto: Daily (imagem do parceiro) → Refine (CDN + UPDATE). Apaga brand links; Daily re-linka todas as marcas da base.

  • cdn — rows CDN no DB + objectos games/ no R2 + purge CF
  • catalog — jogos, sections, jobs, generations (DB)
  • full — catalog + CDN