A webáruház árösszehasonlító feedje költözés után nem frissült tovább
Tünetek
Egy kisebb webáruház másik tárhelyre költözött. A weboldal működött, a rendelések jöttek, senki nem vett észre semmit. Az árösszehasonlító XML feedje azonban a költözéskori állapotban maradt: a fájl létezett és helyes tételeket tartalmazott, csak egy hónapja nem generálódott. Az új árak, kedvezmények és termékek nem jutottak el az árösszehasonlítóba.
Környezet
WordPress WooCommerce-szel, osztott tárhely. A feedet egy bővítmény készíti, amely a fájlt nem frissíti magától a termékek mentésekor. A generálást kívülről a REST címének meghívása indítja (/wp-json/<plugin>/v1/feed/generate/...).
Diagnózis
- A feedfájl utolsó módosításának dátuma a költözés napját mutatta.
- A minta termékek árai stimmeltek. Csak az újabb változások hiányoztak, nem hibás adatokról volt szó. Ezért nem jelzett semmi hibát.
- A WP-Cron működött, és a WordPress ütemezett feladatai között semmi nem hibázott. A generálást ugyanis a WordPress egyáltalán nem ütemezi.
- A bővítmény dokumentációja szerint külső cronra van szüksége a REST címére. Ez a régi tárhely adminfelületén volt beállítva, és nem költözött át a weboldallal, mert nincs sem a fájlokban, sem az adatbázisban.
- A cím kézi meghívása kb. 0,7 mp alatt
{"result":"done"}választ adott, és a fájl újragenerálódott.
Ok
Az ütemezett feladat a tárhely része volt, nem a weboldalé. A költöztetés átvitte a fájlokat és az adatbázist, de a tárhely ütemezőjében lévő feladatokra senki sem gondolt.
Mi fenyeget, ha nem foglalkozunk vele
Az árösszehasonlító továbbra is régi árakat és már nem raktáron lévő termékeket mutat. A vásárló rákattint egy már nem érvényes akcióra, és bosszúsan távozik. Az eltérő árak miatt az árösszehasonlító büntetheti vagy kizárhatja a webáruházat. Ugyanilyen csendben áll le költözés után a többi ütemezett feladat is: mentések, a ki nem fizetett rendelések törlése, e-mailek. Ez többnyire csak hetek múlva derül ki.
Javítás
- A feedet kézzel újrageneráltuk a REST cím meghívásával.
- Az új tárhely feladatütemezőjében felvettünk egy feladatot, amely a címet naponta kétszer meghívja.
- A régi feedek üres fájljait a weboldalról áthelyeztük a mentésbe.
Ellenőrzés
Az első ütemezett futás után a feedfájlnak új dátuma volt, és a tételek száma megfelelt a közzétett termékeknek. Az ellenőrzést másnap megismételtük.
Megelőzés és tanulságok
Költözés előtt írja össze a régi tárhely ütemezőjének összes feladatát: feedek, mentések, készletszinkronizálás és importok. A weboldal ellenőrzése ezt nem találja meg, mert semmi sem romlik el, csak leáll a frissítés.
Kapcsolódó szolgáltatások: Üzemzavarok és hibák Webáruház és pénztár