Avserialisera felinstallationdistribuera igen
Om du kör kommandot setup:static-content:deploy i Adobe Commerce utlöses ett Redis-avserialiseringsfel när parallella processer stör Redis-anslutningen under distributionen av statiskt innehåll. Det här problemet avbryter distributionen och returnerar avserialiseringsfel och Redis-anslutningsfel. Åtgärda problemet genom att köra statisk innehållsdistribution i entrådsläge för att förhindra konflikter med parallell Redis-åtkomst.
Beskrivning description
Berörda versioner
- Lokal Adobe Commerce: 2.1.2 och senare
- Adobe Commerce om molninfrastruktur 2.1.2 och senare
- Redis, alla versioner
Problem/symtom
Om du kör kommandot setup:static-content:deploy uppstår Redis-felet:
)
[ 2017-06-02 19:57:59] Command:php ./bin/magento setup:static-content:deploy --jobs=3 en_US
[ Exception]
Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214
.....
[ CredisException]
read error on connection
[ RedisException]
read error on connection
.....
[ Exception]
Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214
.....
[ RuntimeException]
Command php ./bin/magento setup:static-content:deploy --jobs=3 en_US returned code 3
Orsak
Problemet orsakas av parallella interfereringsprocesser i Redis-anslutningen.
Här förväntade en process i App/Config/Type/System.php ett svar för system_cache_exists som skapades av en annan process. Se den detaljerade förklaringen i Jason Woods' inlägg.
Upplösning resolution
Inaktivera parallelism och kör setup:static-content:deploy i ett entrådsläge genom att ange följande miljövariabel:
STATIC_CONTENT_THREADS=1
Du kan också köra kommandot setup:static-content:deploy följt av argumentet -j 1 (eller --jobs=1).
Obs! I entrådsläge kan den statiska innehållsdistributionsprocessen ta fyra gånger längre tid.
Relaterad läsning
I vår utvecklardokumentation: