Pimcore User Group Rhein-Main #1

Pimcore User Group Mai 2023

Am 27.04.2023 fand die erste Pimcore User Group Rhein-Main statt. Als Gastgeber dieses neuen Veranstaltungsformats durften wir Pimcore-Spezialist*innen, Nutzer*innen und Interessierte aus der Region nach Hanau einladen. Neben einem spannenden Fachvortrag ging es vor allem auch darum, sich mit Gleichgesinnten auszutauschen und neue Kontakte zu knüpfen.

Ab 18:00 Uhr begrüßte unser Hanauer Team die Besucher*innen der User Group vor Ort im Pioneer Park zu einem Get-together, bevor um 18:10 Uhr auch der Livestream gestartet wurde. Als Gastgeber der Pimcore User Group begrüßten Christoph Wiest und Matthias Hamacher dann auch die Teilnehmer*innen, die sich remote zugeschaltet hatten. In seinem anschließenden Vortrag befasste sich Dennis Pfahlbusch mit dem Thema ‘Die Symfony Messenger-Komponente im Einsatz mit Pimcore’. Für alle, die nicht dabei sein konnten, haben wir die wichtigsten Punkte seines Vortrags hier kurz zusammengefasst.

Die Symfony Messenger-Komponente in Pimcore

Der Symfony Messenger ist eine Komponente, die Anwendungen bei der Verwaltung von Warteschlangen (queues) hilft. Insbesondere bei der Kommunikation mit anderen Systemen oder der Verteilung von Aufgaben an verschiedene Dienste ist die Messenger-Komponente sehr nützlich. 

Der Messenger wird für asynchrone Prozesse verwendet, bei denen der User nicht auf Rückmeldung warten will oder muss. Ebenfalls können so langlaufende Aufgaben, wie zum Beispiel der Import von Daten, im Hintergrund abgearbeitet werden. Sollte dabei ein Fehler auftreten, bricht nicht der komplette Prozess ab, sondern nur dieser eine Datensatz. Eine sogenannte Nachricht (message) wird in eine Warteschlange für fehlgeschlagene Nachrichten geschrieben und es kann mit dem nächsten Datensatz weiter gemacht werden. So müssen anschließend nur die fehlgeschlagenen Daten erneut verarbeiten werden und nicht der gesamte Import.

Nutzung im Pimcore Core

Pimcore nutzt die Messenger-Komponente bereits im Core, um unterschiedlichste Aufgaben zu erledigen. Die Hauptnutzung ist dabei, Hintergrundaufgaben auszuführen, die das System aufräumen. Dies sind sogenannte Maintenance Jobs. Dabei werden zum Beispiel alte Log-Dateien gelöscht oder Datenbanktabellen aufgeräumt. In diesem Fall werden dann Nachrichten in die Warteschlange gelegt, die Informationen bzw. Anweisungen zu den auszuführenden Aufgaben enthalten.
Eine weitere Nutzung im Core ist die Generierung von Thumbnails für Bilder. In der Nachricht steht dann beispielsweise, welches Bild auf welche Größe herunterskaliert werden soll.

Pro und Contra

Pro:
Der Vorteil der Messenger-Komponente ist, dass durch die asynchrone Abarbeitung der Aufgaben nicht alle Aufgaben unmittelbar ausgeführt werden müssen, sondern dann erledigt werden, wenn die notwendigen Ressourcen zur Verfügung stehen. Außerdem kann man Aufgaben z.B auch von einem anderen Server abarbeiten lassen, um so den Hauptserver nicht zu belasten. Dies kann gerade bei der Thumbnail-Generierung von Vorteil sein.
Darüber hinaus lassen sich Prozesse parallelisieren. Die sogenannten Consumer, die sich darum kümmern, dass die Nachrichten gelesen und verarbeitet werden, können für die gleiche Warteschlange mehrfach gestartet werden. Dadurch können mehrere Consumer gleichzeitig gestartet werden, sodass die dann zum Beispiel fünf Consumer parallel fünf Nachrichten abarbeiten können.

Contra:
Ein Nachteil der Messenger-Komponente ist die höhere Komplexität, die durch die Verteilung der Aufgaben entsteht. Durch diese erhöhte Komplexität wird es schwerer, die ganze Logik zu debuggen, da man in diesem Fall immer wieder eine Nachricht in die Warteschlange legen muss, um den Consumer prüfen und debuggen zu können.

Unter dem Strich überwiegen die Vorteile aber die Nachteile deutlich. Sobald die Hürden bei der Einrichtung genommen wurden, bietet die Messenger-Komponente zahlreiche Vorteile, von denen die Performance stark profitiert.

Ausklang und Networking

Nach dem spannenden und informativen Vortrag von Dennis war es Zeit, den Abend gemeinsam ausklingen zu lassen. Bei einem kühlen After-Work-Drink hatten unsere Gäste jetzt Gelegenheit, ihre Fragen an unsere Pimcore-Expert*innen zu stellen oder sich im persönlichen Gespräch auszutauschen. Ein großes Thema war dabei der bevorstehende Release von Pimcore 11.
Wir freuen uns schon jetzt auf die nächste Ausgabe der Pimcore User Group Rhein-Main. Wenn Sie aktuelle Updates Terminen und Themen der nächsten User Groups bekommen möchten, melden Sie sich einfach hier an! Wir halten Sie auf dem Laufenden.

Über die Autorin

Über die Autorin

Theresa Hofhues arbeitet seit Oktober 2020 als Junior Marketing Managerin bei basecom. Nach ihrer Ausbildung zur Medienkauffrau und einem anschließendem Studium in diesem Bereich hat sie sich für basecom als Arbeitgeber entschieden. In ihrer Freizeit betreut sie einen offenen Jugendtreff oder widmet sich DIY-Projekten, wie dem Nähen oder neuen Pinterest-Inspirationen.

Theresa Hofhues Blog