# Scheduled-Tasks füllen den RAM komplett aus

**URL:** https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340
**Category:** Administration
**Tags:** general, administration
**Created:** [8. November 2021 um 10:58 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340 "2021-11-08T10:58:12Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 10:58 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/1 "2021-11-08T10:58:12Z")

</div>

Hallo Zusammen,

aktuell stehe ich vor dem Problem, dass die Scheduled-Tasks (speziell der product.indexer = Produktindexierung) nicht abgearbeitet werden können. Verwendet wird ein CLI-Worker; der Admin-Worker ist deaktiviert. Eingerichtet wurde das ganze nach folgender Anleitung: [https://community.hetzner.com/tutorials/install-shopware-6#step-6---configuring-background-queue-worker](https://community.hetzner.com/tutorials/install-shopware-6#step-6---configuring-background-queue-worker)

Mittels glances sehe ich auf dem Server, das er hier für den messenger:consume - Befehl sich den kompletten RAM (30GB!) nimmt. Der Server killt den Task letztendlich (logischerweise), abgearbeitet ist er dann nicht. Vorab: An den Tasks wurde nichts verändert, es handelt sich um die SW6 Standard-Tasks.

Daher die Frage: Warum verbraucht er beim Indexieren so viel RAM und kann man das irgendwie „charmanter“ lösen?

Vielen Dank vorab für euere Unterstützung!!  
LG  
Mirco

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 11:02 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/2 "2021-11-08T11:02:27Z")

</div>

läuft Dein SW im DEV- oder PROD-Mode?

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 11:26 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/3 "2021-11-08T11:26:52Z")

</div>

Der Shop läuft im Prod-Modus

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 11:52 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/4 "2021-11-08T11:52:20Z")

</div>

Dann fällt schon mal eine möglich Ursache weg. Auf die Schnelle fällt mir jetzt aber nix ein, müsste ich mir mal genauer ansehen.

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 12:00 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/5 "2021-11-08T12:00:25Z")

</div>

Das wäre euch super! Vielen dank dir schonmal. Wie gesagt es ist speziell der product.indexer = Produktindexierung Task. Warum auch immer, frisst er unmengen an RAM.

FYI - Wir haben ca 100 Produkte mit Varianten sind es dann ca 14000 Produkte.

LG

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 12:04 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/6 "2021-11-08T12:04:01Z")

</div>

hast Du mal versucht, den indexer ohne „worker“ auf der console laufen zu lassen?

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 12:16 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/7 "2021-11-08T12:16:39Z")

</div>

Ja, gleiches Phänomen: RAM läuft irgendwann voll.  
Habe mal den indexer mit dem Befehl: bin/console dal:index:refresh --skip=product.indexer -vv  
ausgeführt. Ergebnis: 30 Sekunden Laufzeit, ca 3-4 Gig RAM.

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 12:29 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/8 "2021-11-08T12:29:42Z")

</div>

also, dass was mir auffällt ist, dass der „indexer“ welchen ich in einem eigenen plugin verwende „dal:refresh:index“ lautet. Und nicht „index:refresh“ → aber vielleicht spielt das ja auch keine Rolle. Kannst ja mal bin/console aufrufen um nachzusehen. 2. Schreibt Dir der Indexer Dein Log voll? wenn ja, gibt doch mal --quiet=true als Parameter mit. Was ich noch verwende ist „–use-queue=true“. Möglicherweise ändert das ja auch etwas. Ich habe zwar mehr Hauptprudukte und weniger Varianten als Du und komme in der Gesamtzahl auch auf weniger Einträge, aber der Indexer spielt RAM-seitig bei mir fast keine Rolle.

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 12:41 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/9 "2021-11-08T12:41:06Z")

</div>

Nur, um Mißverständnisse zu vermeiden (auch in Slack hatte das ja jemand gefragt )… in Deiner „.env“ steht „APP\_ENV=prod“ drin. Richtig?

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 12:43 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/10 "2021-11-08T12:43:17Z")

</div>

Ja in der .ENV steht PROD.

Hier ein Bild der aktuellen RAM Auslastung:

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/9/9446c97e9ae9cf60824c0c2300061a95542b6a4b.png)

Das Problem ist, dass er die queue nicht abarbeitet augenscheinlich.

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 12:49 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/11 "2021-11-08T12:49:16Z")

</div>

wie schon geschrieben, wenn Du nur console ohne parameter im bin ausführst solltest Du eine Liste aller möglichen commands bekommen. Das aktuell von Dir verwendete (ohne Parameter) sollte so dabei sein. Deine ursprüngliche Nachricht im Slack hat das schon gezeigt, dass der dem PHP zugewiesene Speicher überläuft. Ist meistens halt im DEV-Mode so, weil alles SQL-Commands mitgeschrieben werden

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 13:02 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/12 "2021-11-08T13:02:33Z")

</div>

@moschadr: Leider verstehe ich deine Antwort jetzt nicht so ganz. Mein System ist Produktiv und in der Datei .env im Hauptverzeichnis ist auch APP\_ENV=PROD hinterlegt. Der Consumer schafft anscheinend die Verarbeitung nicht, weil er maximal viel Speicher benötigt. (Bei fast 50GB pendelt er sich ein - siehe Screenshot)  
Wie bekomm ich es jetzt also hin, dass er die Tasks abarbeitet, ohne das der Speicher permanent voll läuft? Hierfür muss es doch eine Lösung geben?  
In den Logs vom Shop steht regelmässig drin, dass er nicht genug Speicherplatz zur Verarbeitung hat und deswegen abbricht.  
Wie machen das denn größere Shop-Betreiber mit Millionen von Produkten, bei mir sind es doch gerade mal 14K Produkt-Varianten.

@Moritz_Naczenski: Hättest du hier eventuell eine Lösung?

LG  
Mirco

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 13:15 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/13 "2021-11-08T13:15:28Z")

</div>

Ich versuch nur, mögliche Ursachen zu ermitteln. 1. Den Prozess für für das Refreshen des index gibt es auch ohne messanger:consume. Folglich bestünde doch die Möglichkeit, dass nicht del:refresh sondern messanger:consume Ursache ist. Also würde ich zur Eingrenzung den messanger erstmal weglassen. 2. wie Du geschrieben hast, rufst Du (mit selbem Ergebnis) dal:index:refresh auf. Jedenfalls in meiner console gibt es den Parameter so nicht. Sondern nur refresh:index (Paramter umgedreht). Das könnte - nur eine Vermutung - auch ein Teil des Problems sein. Zudem lassen sich an den Prozess weitere Parameter wie „quiet“ und/oder „use-queue“ übergeben, die vielleicht auch Einfluss auf den Speicherbedarf haben könnten. Die wiedeholte Nachfrage nach APP\_ENV kommt nur daher, dass es schon Posts gabe, bei denen ein User unter Produktivsystem verstand, dass der Shop online aktiv, also produktiv ist und nicht mehr als Entwicklungssystem dient

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 13:26 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/14 "2021-11-08T13:26:55Z")

</div>

Aber der Befehl refresh:index mit dem Parameter „use-queue“ befüllt die Warteschlange. Wohingegen der Befehl „messenger:consume“ diese Warteschlange abarbeitet. Oder?

Habe jetzt nochmal RAM nachgelegt und versuche es über den „refresh:index“ Befehl. Diese indexer müssen doch vermutlich in Zukunft öfter mal gebildet werden. Das stelle ich mir aber schwierig vor, wenn diese jedesmal den RAM voll pusten.

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 13:32 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/15 "2021-11-08T13:32:15Z")

</div>

ja, da hst Du Recht. Der Speicherbedarf DARF gar nicht in diese Höhe schnellen. Wenn die BasisDaten fehlerfrei sind und sonst auch alles richtig eingestellt ist sollte ein Bruchteil Deines aktuell benötigten Speichers ausreichen

---

<div class="post-metadata">

### Author: ![moschadr](https://avatars.discourse-cdn.com/v4/letter/m/65b543/32.png) [@moschadr](https://forum.shopware.com/u/moschadr)
#### Post date: [8. November 2021 um 13:33 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/16 "2021-11-08T13:33:41Z")

</div>

Aber , da SW noch einige Baustellen hat, kommt man nicht drum rum mögliche interne Bugs irgendwie zu identifizieren und zu umschiffen

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [8. November 2021 um 17:50 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/17 "2021-11-08T17:50:36Z")

</div>

@moschadr Vielen Dank nochmal für deine Antworten. Allerdings hilft mir das nicht so recht weiter.

Fakt ist: Der Prozess benötigt eine große Menge an Arbeitsspeicher und es ist nicht ersichtlich warum dies so ist.

Eventuell hat ja jemand anderes dieses Problem schon einmal gehabt. @AndreHerking: Ist dir hier etwas bekannt?

Vielen Dank!!  
LG Mirco

---

<div class="post-metadata">

### Author: ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)
#### Post date: [8. November 2021 um 18:48 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/18 "2021-11-08T18:48:58Z")

</div>

Vielleicht läuft der Shop im prod, aber der cli worker im dev? Ich meine eine Indexierung kann mal etwas länger dauern, aber nach jedem indexierten Datensatz wird der Speicher geleert… also entweder befindest du dich im dev Modus oder dein SQL Logger ist trotz prod aktiv?!

```auto
$this->connection = $connection;
$this->connection->getWrappedConnection()->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$this->connection->getConfiguration()->setSQLLogger(null);

```

Oder ist beim Datenbank Server ein Logger aktiv?  
[https://dev.mysql.com/doc/refman/8.0/en/query-log.html](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)

Ansonsten einfach mal diesen Befehl probieren:

> APP\_ENV=prod php bin/console dal:refresh:index

Bei der Produkt-Indexierung werden soweit ich sehe alle Parent und Children Ids auf einen Schlag geladen und entsprechend verarbeitet!

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/e/edba2b3c8ec2763f51bcb6502a6aeab9217e3921.png)

Das multipliziert mit 50 kann schon auf den Speicher gehen.

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/8/86afdc9a8ec0c53706966654b91f40dfbf978c14.png)

Entspricht in diesem Bsp. also ca. 7000 Produkte auf ein mal?!

Also den Wert einfach manuell auf 1 statt 50 setzen könnte auch helfen.

VG

---

<div class="post-metadata">

### Author: ![Mirco](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@Mirco](https://forum.shopware.com/u/Mirco)
#### Post date: [17. März 2022 um 19:41 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/19 "2022-03-17T19:41:17Z")

</div>

Hey @Moorleiche,

sorry bin dir hier noch eine Antwort schuldig! Danke erstmal für deine Hinweise, aber habe das Problem jetzt anders gelöst. Wobei von Lösung hier eigentlich keine Rede sein kann.  
Auf Grund der hohen Anzahl an Varianten ist es unmöglich diese zu Indexieren ohne den Shop lahm zu legen. Daher bin ich hin gegangen und Indexiere nun nur noch die erste unter Variante die er findet. Bestimmt nicht schön, geschweige denn richtig allerdings läuft so die Warteschlange mal durch und er crashed nicht immer bei den Produkten. Hab im Vendor die Funktion angepasst:  
 ![image](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/f/d/fd6bccd78c7abac927b66892d373e547ff95dcd9.png)

Wusste mir tatsächlich hier nicht anders zu helfen…

LG Mirco

---

<div class="post-metadata">

### Author: ![Teddie](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/teddie/32/26013_2.png) [@Teddie](https://forum.shopware.com/u/Teddie)
#### Post date: [2. Mai 2022 um 19:21 UTC](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340/20 "2022-05-02T19:21:47Z")

</div>

Ich mische mich mal etwas mit ein…

```auto
16:21:04 INFO [messenger] Shopware\Core\Content\Product\DataAbstractionLayer\ProductIndexingMessage was handled successfully (acknowledging to transport). ["message" => Shopware\Core\Content\Product\DataAbstractionLayer\ProductIndexingMessage^ { …},"class" => "Shopware\Core\Content\Product\DataAbstractionLayer\ProductIndexingMessage"]
16:21:04 INFO [messenger] Stopping worker. ["transport_names" => ["default"]]
16:21:04 INFO [messenger] Worker stopped due to memory limit of 34359738368 bytes exceeded (120001134592 bytes used) ["limit" => 34359738368,"memory" => 120001134592]

```

Ich habe den Speicher des Cronjob auf 32 GB limitiert, was dezent ignoriert wurde, bei 120 GB (von 128 GB) war‘s aber vorbei.

Ich habe nun die „IteratorFactory.php“ auf „$query-\>setMaxResults(10);“ gesetzt und er scheint mit ca. 5 GB klar zu kommen…

[Nächste Seite](https://forum.shopware.com/t/scheduled-tasks-fuellen-den-ram-komplett-aus/91340.md?page=2)
