Specter - Logik för synk av artiklar och lagersaldo
För att undvika timeout'er och förlorad data mellan systemen så hanteras uppdatering av artiklar, lagersaldo och orderstatus i riktningen Specter till WooCommerce i bakgrunden via WooCommerce's Action Scheduler.
Action Scheduler är ett programbibliotek för schemaläggning och hantering av större mängder data som kan processas i bakgrunden vid specifika tillfällen. Logiken för synk av en artikel, lagersaldo eller orderstatus från Specter till WooCommerce ser ut på följande sätt:
- En ändring görs i Specters system (exempelvis att du som användare ändrar priset på en artikel och sparar denna ändring).
- Ett anrop skickas från Specter till WooCommerce om att en artikeländring har inträffat i Specter.
- WooCommerce (eller Specter-pluginet) tar emot anropet, schemalägger ett jobb i Action Schedulern som ska hantera ändringen och bekräftar slutligen till Specter att vi har mottagit anropet samt specificerar ett specifikt batch-id för det specifika jobbet.
- Nästa gång som Action Schedulern körs (triggas vanligtvis 1 ggr/minut) hanteras det schemalagda jobbet.
- När ändringen är utförd i WooCommerce bekräftar pluginet till Specter att det specifika batch-id't är färdigbehandlat.
Tänk på att Action Scheduler'n är beroende av WordPress cron. Om ni triggar cronjob från annat ställe än WordPress så kan det innebära att cron körs mer sällan. Synk av större mängder data kan då ta mycket lång tid att genomföra. Vi rekommenderar därför att Action Scheduler'n triggas varje minut på webbplatsen för att undvika problem.