{"id":3566,"date":"2021-04-16T14:37:32","date_gmt":"2021-04-16T12:37:32","guid":{"rendered":"https:\/\/www.commercers.com\/blog\/?p=3566"},"modified":"2021-04-16T14:37:59","modified_gmt":"2021-04-16T12:37:59","slug":"magento-2-produkt-attribute-aktualisieren-wird-gequeued-aber-nicht-ausgefuehrt","status":"publish","type":"post","link":"https:\/\/www.commercers.com\/blog\/magento-2-produkt-attribute-aktualisieren-wird-gequeued-aber-nicht-ausgefuehrt\/","title":{"rendered":"Magento 2 &#8211; Produkt-Attribute aktualisieren wird gequeued aber nicht ausgef\u00fchrt"},"content":{"rendered":"\n<p>Wieder so ein nerviges Problem von Magento 2 &#8211; die Queue zur Ausf\u00fchrung von Aufgaben wie <a href=\"https:\/\/www.commercers.com\/blog\/magento-2-produkt-export-funktioniert-nicht\/\" title=\"Magento 2 \u2013 Produkt Export funktioniert nicht\">Produktexporten<\/a> oder auch der ganz einfachen Aktualisierung von Produktattributen bei mehreren Produkten auf einmal (&#8220;Batch&#8221;).<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"425\" src=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/04\/image.png\" alt=\"\" class=\"wp-image-3567\" srcset=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/04\/image.png 406w, https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/04\/image-287x300.png 287w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Das Vorgehen ist dabei ganz einfach: Man m\u00f6chte bei mehreren Produkten eine \u00c4nderung an einem oder mehreren Produkt-Attributen durchf\u00fchren. Wie auch schon bei Magento 1 klickt man dazu die gew\u00fcnschten Produkte in der Produkt-\u00dcbersicht an und w\u00e4hlt &#8220;Update Attributes&#8221; bzw. &#8220;Attribute aktualisieren&#8221; aus dem Dropdown. Anschlie\u00dfend w\u00e4hlt man die Attribute, die man \u00e4ndern will und ver\u00e4ndert den Wert.<\/p>\n\n\n\n<p>Nun sollten nach dem Klick auf Speichern -so war man es gew\u00f6hnt- bei den gew\u00e4hlten Produkten das entsprechende Attribut \u00fcberarbeitet sein.<\/p>\n\n\n\n<p>Nicht aber so bei Magento 2. Magento 2 f\u00fcgt diese Aufgabe der Queue also einer zeitgesteuerten Abarbeitungsliste hinzu. Diese sollte dann durch den Cronjob \/ die Cronjobs abgearbeitet werden, so dass die Aufgaben zeitnah erf\u00fcllt werden.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Bei uns war es aber auch in Magento 2.4.2 weiterhin so, dass die gew\u00fcnschten \u00c4nderungen nicht durchgef\u00fchrt wurden und die Attribute bei den Produkten unver\u00e4ndert blieben. Dies forderte also wieder einiges an Zeit und Nerven f\u00fcr die Recherche aber am Ende gab es immerhin ein funktionales Ergebnis. Und dieses ist Folgendes:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>F\u00fchrt man per Konsole (SSH) einmal diesen Befehl im Root-Verzeichnis von Magento aus &#8220;ps aufx | grep cron&#8221; &#8211; werden die aktuellen Cron-Aufgaben angezeigt. Hier stellten wir fest, dass die Jobs da waren aber nicht ausgef\u00fchrt wurden.<\/li><li>Magento 2 verhindert durch sog. &#8220;locks&#8221; die Mehrfachausf\u00fchrung eines Jobs. Diese Locks werden standardm\u00e4\u00dfig in der Datenbank abgelegt. Hier fanden wir Informationen, die \u00fcber Probleme berichteten, wenn die DB genutzt wird und so probierten wir den Speicherort auf das Datei-Verzeichnis zu \u00e4ndern, um das Problem der Nichtausf\u00fchrung entgegen zu wirken.<\/li><li>Man kann sehen wo die Locks hinterlegt werden, wenn man in die  app\/etc\/env.php reinschaut. Dort gibt es ca. in Zeile 51 einen  Verweis &#8220;&#8216;provider&#8217; => &#8216;db&#8217;,<\/li><li>Wahrscheinlich kann man an dieser Stelle auch manuell eingreifen und diesen Absatz so \u00e4ndern:<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>    'lock' => &#91;\n        'provider' => 'file',\n        'config' => &#91;\n            'path' => 'var\/locks'\n        ]\n    ],<\/code><\/pre>\n\n\n\n<p>Wir haben es aber \u00fcber diesen Befehl in der Konsole gemacht:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/magento setup:config:set --lock-provider=\"file\" --lock-file-path=\"var\/locks\"<\/code><\/pre>\n\n\n\n<p>(Evtl. muss man noch das Verzeichnis anlegen)<br>5. Nachdem dies geschehen war, haben den Cron nochmal manuell ausgef\u00fchrt<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bin\/magento cron:run<\/code><\/pre>\n\n\n\n<p>Im Verzeichnis \/var\/locks\/ lagen nun einige (leere) Dateien, die die Lockdateien darstellen.<\/p>\n\n\n\n<p>Und siehe da &#8211; die Produkt-Updates waren alle durchgef\u00fchrt worden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wieder so ein nerviges Problem von Magento 2 &#8211; die Queue zur Ausf\u00fchrung von Aufgaben wie Produktexporten oder auch der ganz einfachen Aktualisierung von Produktattributen bei mehreren Produkten auf einmal (&#8220;Batch&#8221;). Das Vorgehen ist dabei ganz einfach: Man m\u00f6chte bei mehreren Produkten eine \u00c4nderung an einem oder mehreren Produkt-Attributen durchf\u00fchren. Wie auch schon bei Magento&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3567,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3566","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/comments?post=3566"}],"version-history":[{"count":1,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3566\/revisions"}],"predecessor-version":[{"id":3568,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3566\/revisions\/3568"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/media\/3567"}],"wp:attachment":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/media?parent=3566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/categories?post=3566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/tags?post=3566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}