L’index est verrouillé par un autre processus.
Cet article traite d’un problème d’indexation courant dans Adobe Commerce, où l’index est verrouillé par un autre processus et ignoré.
Produits et versions concernés
- Adobe Commerce 2.X
Problème
Lors d'une réindexation complète dans votre interface de ligne de commande, Adobe Commerce vous envoie le message d'erreur : 'Index est verrouillé par un autre processus de réindexation. Sauter.' En d’autres termes, lorsque le processus ou le type d’index est verrouillé, vous ne pouvez pas réindexer ce type d’index verrouillé particulier. La réindexation ignore toujours ce type d’index.
Cause
Cette erreur peut se produire si l’index précédent n’a pas été terminé avec succès. Voici quelques raisons possibles :
- Le processus a été interrompu par un autre processus ou un autre utilisateur.
- Limite de mémoire.
- Erreur MySQL, comme un délai d’expiration.
- Erreur PHP fatale lors de la réindexation.
Étapes à reproduire
- Par exemple, indiquez que la variable
bash cataloginventory_stock
le type d’index est verrouillé. - Lorsque vous essayez de réindexer toutes les données en exécutant la commande d’interface de ligne de commande
bash php bin/magento indexer:reindex
, vous obtiendrez le résultat de sortie suivant :bash customer_grid index has been rebuilt successfully in 00:00:09 catalog_category_product index has been rebuilt successfully in 00:00:07 catalog_product_category index has been rebuilt successfully in 00:00:00 catalogrule_rule index has been rebuilt successfully in 00:00:05 catalog_product_attribute index has been rebuilt successfully in 00:00:04 cataloginventory_stock index is locked by another reindex process. Skipping. catalog_product_price index has been rebuilt successfully in 00:00:01 catalogrule_product has been rebuilt successfully in 00:00:00 catalogsearch_fulltext index has been rebuilt successfully in 00:00:01
- Comme vous pouvez le voir ci-dessus, la variable
bash cataloginventory_stock
Le processus d’index a été ignoré.
Solution
Vous devez réinitialiser l’état de l’index, puis essayer d’exécuter le nouveau processus de réindexation. Pour réinitialiser l’état de l’index, vous devez exécuter la commande :
bin/magento indexer:reset <index identifier>
Si vous ne savez pas quels sont les identifiants d’index (code), vous pouvez les lister à l’aide de la commande :
bin/magento indexer:info
Pour des raisons d’exhaustivité, voici toutes les combinaisons possibles pour les index natifs :
bin/magento indexer:reset design_config_grid;
bin/magento indexer:reset customer_grid;
bin/magento indexer:reset catalog_category_product;
bin/magento indexer:reset catalog_product_category;
bin/magento indexer:reset catalogrule_rule;
bin/magento indexer:reset catalog_product_attribute;
bin/magento indexer:reset cataloginventory_stock;
bin/magento indexer:reset catalog_product_price;
bin/magento indexer:reset catalogrule_product;
bin/magento indexer:reset catalogsearch_fulltext;
Lecture connexe
Dans notre base de connaissances de soutien :
Dans notre guide d’utilisation :
Dans notre documentation destinée aux développeurs :