Redis anuda la instalación del error de deserializacióndeploy
En Adobe Commerce, al ejecutar el comando setup:static-content:deploy se déclencheur un error Redis unserialize cuando los procesos paralelos interfieren con la conexión Redis durante la implementación de contenido estático. Este problema interrumpe la implementación y devuelve errores de conexión de Redis y unserialize. Para solucionar este problema, ejecute la implementación de contenido estático en modo de un solo subproceso para evitar conflictos de acceso a Redis en paralelo.
Descripción description
Versiones afectadas
- Adobe Commerce local: 2.1.2 y posterior
- Adobe Commerce en la nube 2.1.2 y versiones posteriores
- Redis, cualquier versión
Problema/Síntomas
La ejecución del comando setup:static-content:deploy provoca el siguiente error de Redis:
)
[ 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
Causa
El problema se debe a procesos de interferencia paralelos en la conexión de Redis.
En este caso, un proceso de App/Config/Type/System.php esperaba una respuesta para system_cache_exists realizada por un proceso diferente. Vea la explicación detallada en la publicación de Jason Woods.
Resolución resolution
Deshabilite el paralelismo y ejecute setup:static-content:deploy en modo de un solo subproceso estableciendo la siguiente variable de entorno:
STATIC_CONTENT_THREADS=1
También puede ejecutar el comando setup:static-content:deploy seguido del argumento -j 1 (o --jobs=1).
Nota: En el modo de un solo hilo, el proceso de implementación de contenido estático puede tardar cuatro veces más.
Lectura relacionada
En nuestra documentación para desarrolladores: