Flödeslås för SaaS-dataexport

Tillägget SaaS Data Export använder en flödeslås för att förhindra konkurrensförhållanden när flera processer försöker synkronisera samma feed samtidigt. Detta kan till exempel inträffa när en felutlöst omsynkronisering överlappar ett manuellt saas:resync CLI-anrop.

Så här fungerar låset

Varje feed-synkroniseringsåtgärd, som utlöses av ett cron-jobb eller ett manuellt saas:resync CLI-anrop, följer samma sekvens:

  1. Processen försöker hämta flödeslåset. Låsförsöket är icke-blockerande och returneras omedelbart om låset redan hålls av en annan process.

  2. Om låset inte är tillgängligt hoppas [åtgärden över och loggas].

    Inga data går förlorade. Nästa kron-körning hämtar väntande ändringar när den aktuella processen har slutförts.

  3. Om låset är förvärvat registrerar processen sitt namn och PID för diagnostiksyften och kör sedan synkroniseringen.

  4. När synkroniseringen har slutförts eller misslyckats frisläpps låset ovillkorligt så att nästa schemalagda cron-jobb kan fortsätta normalt.

Endast en synkroniseringsåtgärd kan innehålla feedelåset åt gången, oavsett om det startades av cron eller CLI. Flödeslåset implementeras via LockManagerInterface för Adobe Commerce. Standardserverdelen är MySQL, som använder funktionerna GET_LOCK och RELEASE_LOCK. Mer information om hur du konfigurerar en annan låsleverantör finns i Konfigurera låsprovidern.

Förväntade loggmeddelanden

Följande meddelande i commerce-data-export.log är normalt och indikerar inget problem:

{"feed":"products","operation":"partial sync","status":"operation skipped - process locked by \"full sync(1234)\"", ...}

Det här meddelandet visas när en felutlöst partiell synkronisering försöker köras när en fullständig omindexering eller saas:resync redan pågår. Den hoppade åtgärden går inte förlorad. När den pågående processen har slutförts och låset har släppts, hämtar nästa kron-körning och synkroniserar alla väntande ändringar.

NOTE
Allmän information om loggformat och åtgärdstyper som registrerats i commerce-data-export.log finns i Granska loggar och felsöka.

Mer hjälp om det här avsnittet

recommendation-more-help
commerce-help-data-export