Statikus WordPress-közzétételi sor és üzemeltetés
A Static Publisher sorba állított feladatokra és külső végrehajtásra épül.
Futásidejű fájlok
A bővítmény a wp-content/uploads/smartcloud-static-publisher/runtime alatt írja az állapotot, többek között:
config.jsonqueue.jsoncurrent-run.jsonlast-run.jsonexport.lock
A célzott tartalomszinkronizálás ebben a futásidejű könyvtárban tartja karban az alapszint, a kurzor, az ellenőrzőpont, a jelölt jegyzék, a hatásterv, a telepítési eltérés és az érvénytelenítés állapotát is. Amíg egy tartalomszinkronizálási feladat sorban áll, fut vagy újrapróbálkozásra vár, ezek a fájlok üzemeltetési állapotot tárolnak, nem eldobható gyorsítótárat.
A naplók a beállított naplókönyvtárban találhatók, a befejezett feladatok pedig az archive/<timestamp-command-jobId-status>/ alatt archiválják műtermékeiket.
Sorparancsok
Az adminisztrációs felületen a következő parancsok állíthatók sorba:
publishcrawldeployinvalidateretry-timeoutsurlegyetlen útvonalas futáshoz
A content-sync feladatokat Professional- vagy Agency-szintű ütemezési szabályok hozzák létre. Ezek nem szabad formátumú kézi URL-parancsok: a feladat változtathatatlan tartományt foglal le a WordPress tartalomnaplójából, és a szabály mentett hatókörét használja. A növekményes közzététel és a célzott tartalomszinkronizálás azonos szintű aktív előfizetést igényel.
Ideiglenes AWS-hitelesítő adatok csatolhatók a publish, deploy és invalidate feladatokhoz. Ezek csak az adott feladat gyermekfolyamatának környezeti változóiba kerülnek be, az adminisztrációs állapot-adattartalmakból pedig ki vannak takarva.
Ütemezési modell
Az ütemezési szabályokat a publisher-exporter queue-runner minden futtatás elején kiértékeli.
Ennek fontos következményei:
- a bővítmény önmagában nem indítja el a futtatót,
- éles rendszerekben cront, systemd-időzítőt, CI-t vagy más külső ütemezőt kell használni,
- ajánlott kiindulópont az egyperces futtatási ütem,
- az aktuális intervallumon belül a rendszer kihagyja az egymással egyenértékű ismétlődő feladatokat,
- az ismétlődő tartalomszinkronizálási igényeket összevonja; a lefoglalt tartomány feldolgozása közben érkező változások követő munkává válnak, és nem bővítik a futó tartományt.
A tartalomszinkronizálás ütemezésének engedélyezése előtt futtasson sikeres normál teljes vagy növekményes közzétételt. Ez a kiadás hozza létre a megbízható jegyzéket és az ellenőrzött alapszintet. A téma, a bővítmény, a közvetlen hivatkozás, a webhelytérkép, az átírás, a hatókör vagy a telepítési cél módosítása szándékosan elavultként jelöli az alapszintet, és új normál közzétételt igényel. Az Ütemező beállításai képernyő közvetlenül jelenti ezt az állapotot.
Jellemző Linux cron-minta:
* * * * * /usr/bin/flock -n /tmp/static-publisher.cron.lock \
publisher-exporter queue-runner \
--runtime-dir /var/www/site/wp-content/uploads/smartcloud-static-publisher/runtime \
--max-jobs 1 >> /var/www/site/wp-content/uploads/smartcloud-static-publisher/logs/queue-runner-cron.log 2>&1
Telepítési profilok
A Static Publisher a legfelső szintű célbeállításokat alapcélként kezeli. A további célok a deploymentProfiles alatt találhatók, és a deploy vagy invalidate művelet során választhatók ki.
Így lehetősége van:
- egyetlen bejárásra,
- az alapcélra történő telepítésre,
- ugyanazon műtermék újrafelhasználására tesztelési, éles vagy ügyfélspecifikus célokhoz,
- annak elkerülésére, hogy minden előléptetési lépéshez újra be kelljen járni a forrást.
Ha egy profil módosítja a targetOrigin értékét, részesítse előnyben az abszolút átírási módot, hogy a telepítés biztonságosan új célra irányíthassa a már bejárt műterméket.
Naplók és újrapróbálkozási munkafolyamat
- a gyökérszintű naplófájlok alkotják az aktuális munkakészletet,
- a befejezett, sikertelen és leállított feladatok gzip-tömörített naplóműtermékeket és
job.jsonfájlt archiválnak, - a
retry-timeoutslehetőség szerint a legújabb archivált teljescrawlvagypublishfutásból határozza meg az újrapróbálandó URL-eket, - a régi archívumokat egy megőrzési feladatból futtatott
publisher-exporter prune-logsparanccsal kell eltávolítani.
A tartalomszinkronizálás újrapróbálkozásai megőrzik ugyanazt a lefoglalt tartományt és ellenőrzőpontot. A korlátozott késleltetés megakadályozza egy hibás cél folyamatos terhelését. Ha egy üzemeltető elvet egy sorban álló újrapróbálkozást a WordPressben, a helyi terv törlődik, de a naplókurzor változatlan marad; egy későbbi ütemezőfutás újra felfedezheti a nyugtázatlan tartományt. A törlési és alapszint-biztonsági szabályokért lásd a Célzott tartalomszinkronizálás oldalt.
Külső gazdagépen történő végrehajtás
Ha a WordPress gazdagépe nem tud Node-ot, Playwrightot vagy cront futtatni, dolgozza fel a sort egy másik gépről, amely látja ugyanazt a futásidejű könyvtárat, vagy töltse le egy sorba állított feladat konfigurációját, és játssza vissza saját parancssorából vagy CI-futtatójából.
