Statický feed se rozjede se stavem DB (produkty visí ve slevě po ukončení akce)
Symptom
Sekce “Symptom”Produkt byl v DB správně přepnut z akce/výprodeje zpět do normálu, ale odběratel feedu (e-shop, marketplace, partner) ho dál dostává jako zlevněný/v akci. V DB je vše správně — chyba není v datech, ale ve staré vygenerované verzi feedu.
Příčina
Sekce “Příčina”Feed endpoint servíruje statické soubory (XML/JSON) vygenerované jednorázově ručně (tlačítko v adminu). Denní pipeline, která mění stav produktů (reset akce, vyprodání), feed neregeneruje → od posledního ručního generování se feed a DB tiše rozjíždějí. V našem případě snapshot 2 měsíce starý, ~20 % položek už v akci nebylo.
Řešení
Sekce “Řešení”- Regenerační skript zapojit do stejné pipeline, která mění stav — hned ZA krok, který produkty resetuje (ne před něj). Selhání kroku = WARNING, ne pád pipeline.
- Generátor musí umět diff: kromě aktuálních položek posílat i
<removed_products>s pokynem k odebrání (restore ceny), jinak si odběratel odebrané položky nikdy neuklidí. - Jednorázově doběhnout ruční regenerací a ověřit na živém endpointu, že konkrétní položka je v removed sekci.
Prevence
Sekce “Prevence”- Každý „statický” feed musí mít vlastníka v cronu/pipeline — feed bez plánované regenerace je časovaná bomba.
- Do metadat feedu dávat
generated_ata monitorovat stáří (alert při > X dní).