Magento 2 – La mise à jour des attributs du produit est mise en file d'attente mais n'est pas exécutée

Un autre problème ennuyeux de Magento 2 – la file d'attente pour l'exécution de tâches telles que Exportations de produits ou la mise à jour très simple des attributs produit pour plusieurs produits à la fois (“Lot”).

Le processus est très simple: Vous souhaitez modifier un ou plusieurs attributs produit pour plusieurs produits. Comme avec Magento 1 Pour ce faire, cliquez sur les produits souhaités dans l'aperçu des produits et sélectionnez “Mettre à jour les attributs” ou. “Mettre à jour les attributs” de la liste déroulante. Ensuite, vous choisissez les attributs, que l'on veut changer et change la valeur.

Maintenant, après avoir cliqué sur Enregistrer, vous devriez être habitué- l'attribut correspondant doit être révisé pour les produits sélectionnés.

Mais pas avec Magento 2. Magento 2 ajoute cette tâche à la file d'attente d'une liste de traitement contrôlé dans le temps. Cela devrait alors être fait par le cronjob / les tâches cron sont traitées, afin que les tâches soient accomplies dans les délais.

Mais pour nous c'était aussi à Magento 2.4.2 continue comme ça, que les modifications souhaitées n'ont pas été apportées et que les attributs des produits sont restés inchangés. Cela a donc encore demandé beaucoup de temps et de nerfs pour la recherche, mais à la fin il y avait au moins un résultat fonctionnel. Et c'est ça:

  1. Se fait par console (SSH) une fois cette commande dans le répertoire racine de Magento “ps aufx | grep cron” – les tâches cron en cours sont affichées. Ici, nous avons établi, que les travaux étaient là mais non exécutés.
  2. Magento 2 empêché par ce qu'on appelle. “serrures” l'exécution multiple d'un travail. Ces verrous sont stockés dans la base de données par défaut. Ici, nous avons trouvé des informations, qui a signalé des problèmes, lorsque la base de données est utilisée et nous avons donc essayé de changer l'emplacement de stockage dans le répertoire de fichiers, pour contrer le problème de la non-exécution.
  3. Vous pouvez voir où les serrures sont stockées, si vous regardez dans l'application /etc/env.php. Il y a environ. en ligne 51 une référence “'fournisseur’ => 'db',
  4. Vous pouvez probablement intervenir manuellement à ce stade et modifier ce paragraphe:
    'lock' => [
        'provider' => 'file',
        'config' => [
            'path' => 'var/locks'
        ]
    ],

Mais nous l'avons fait avec cette commande dans la console:

bin/magento setup:config:set --lock-provider="file" --lock-file-path="var/locks"

(Peut-être. il faut encore créer le répertoire)
5. Après cela a été fait, a réexécuté le cron manuellement

bin/magento cron:run

Il y en avait maintenant quelques-uns dans le répertoire /var/locks/ (vide) Des dossiers, qui représentent les fichiers de verrouillage.

Et voilà – les mises à jour du produit avaient toutes été effectuées.

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

1 pensée sur “Magento 2 – La mise à jour des attributs du produit est mise en file d'attente mais n'est pas exécutée”

Laisser un commentaire

Votre adresse email ne sera pas publié. les champs requis sont indiqués *