Kategoriebaum neu aufbauen schneller machen? CLI

ich verwende den CLI Befehl

php bin/console sw:rebuild:category:tree

Das dauert leider ewig (482468 items).
Es wird immer ca. 1 item pro Sekunde abgearbeitet.
Kann man an den CLI-Befehl einen Parameter hängen oder gibt es eine Art Batch-Modus?

Danke und Gruss.

Guten Tag,

als Frage vorweg, müssen Sie das neu aufbauen über CLI machen?

Shopware bietet unter Performance → Einstellungen → Kategorien eine Funktion dafür,
dort können Sie den Aufbau auch in den Batch-Modus verschieben und die Stapelgröße
bis zu 1500 anpassen.

Ich hoffe ich rede nicht komplett am Thema vorbei.

Mit freundlichen Grüßen
Marvin Kriebel

Hi, im Backend bricht es ab. Deshalb nutze ich console.
Nun ist es so, dass er in der console erst langsam ist und dann „mit einem rutsch“ ist alles fertig, ist das ggf auch ein absturz?
Es sind 1,8mio Einträge und es sieht „normal“ aus.

Nochmal nachgefragt.
Wie kann ich im CLI eine Stapelgrösse angeben?

php bin/console sw:rebuild:category:tree

Danke und Gruss

Hallo,
hilft das vielleicht?

bin/console help sw:rebuild:category:tree
Description:
  Rebuild the category tree

Usage:
  sw:rebuild:category:tree [options]

Options:
  -o, --offset[=OFFSET]    Offset to start with.
  -l, --limit[=LIMIT]      Categories to build per batch. Default: 1000
  -h, --help               Display this help message
  -q, --quiet              Do not output any message
  -V, --version            Display this application version
      --ansi               Force ANSI output
      --no-ansi            Disable ANSI output
  -n, --no-interaction     Do not ask any interactive question
      --process-isolation  Launch commands from shell as a separate process.
  -e, --env=ENV            The Environment name. [default: "production"]
  -v|vv|vvv, --verbose     Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  The sw:rebuild:category:tree command will rebuild your category tree.

Leider nein.

 The "--limit" option does not exist.

Hm,
hier auf der Testumgebung läuft es

bin/console sw:rebuild:category:tree -l 100
Removing orphans
Rebuild path info
Removing assignments
Counted 9039 items
 9039/9039 [============================] 100% Elapsed: 33 secs
Done

V5.7.7 auf Debian 10 PHP 7.4

Ahh, war beim falschen CLI, jedoch bei mir geht er die einzeln durch. Siehe unten. 24, und nicht 1500-Schritte

web1@xxx1:~$ /opt/php-7.4/bin/php /var/www/clients/client1/web1/web/bin/console sw:rebuild:category:tree -l 1500
Removing orphans
Rebuild path info
Removing assignments
Counted 573423 items
     24/573423 [>---------------------------] 0% Elapsed: 52 secs

SW 5.6.7

Hallo,
also bei mir zählt er die Schritte, nicht die Items. Das heißt bei 9039 Items mit Limit 100 sehe ich 90 Schritte. Allerdings passt dazu bei dir nicht die 24 und 0% aber vielleicht stimmt die % Anzeige nicht?
Oder es ist die Version 5.6.7 … Dazu kann ich nix sagen
Gruß
Helmut

Jo, die Anzeige ist es

Counted 9039 items
 9039/9039 [============================] 100% Elapsed: 14 secs
Done
helmut@STAT dev.sw.local$ bin/console sw:rebuild:category:tree --limit 100
Removing orphans
Rebuild path info
Removing assignments
Counted 9039 items
   85/9039 [>---------------------------] 0% Elapsed: 13 secs

ok, aber dann funktioniert es bei dir ja auch nicht? 85 sind nicht 100.

Doch: ich habe halt im Prozess kopiert, da musste ich schnell sein bevor er durch ist.
Und nicht 100 sondern 91: 90 Schritte x 100 Items + 1 für den Rest 39.

Aber grundsätzlich zeigt er im Prozess bei mir keinen Fortschritt an. Springt also beim letzten Schritt auf 100%