von pichel » Di 7. Okt 2025, 22:36
Hallo Alfred,
wenn Aktionen nicht blockierend sein sollen, verwendet man in der Programmierung üblicherweise asynchrone AUfrufe, realisiert z.B. über Threads. Die Nutzung von Threads in PHP ist im Webumfeld nicht so einfach. Das ist einer der Gründe, warum ich für bestimmte Dinge eigene Java-/C#-Programme geschrieben habe (Printserver, TSEConector), denn so kann ich das wunderbar entkoppeln.
Beim Gastbestellsystem habe ich den Aufwand nicht gemacht. Stattdessen versucht das Kernsystem direkt mit dem Gastbestellsystem zu kommunizieren. Das macht die Einrichtung viel einfacher, aber im Fall eines nicht erreichbaren Gastbestellsystems wird damit der Client (also die Oberfläche im Browser) komplett ausgebremst. OrderSprinter macht clientseitig immer wieder Status-Abfragen, um zum Beispiel die Icons für eine fehlender Printserver-Anbindung oder TSE einzublenden. Im Rahmen dieser Abfrage findet auch die Kommunikation mit dem Gastbestellsystem statt - die dann regelmäßig in einen Timeout läuft.
Das ist natürlich ziemlich suboptimal und man kann das auch verhindern, indem man die Asynchronität entsprechend einbaut. Aber es kostet halt Zeit und war in der Prio jetzt nicht so hoch.
Ich bin mir ziemlich sicher, dass dein Gastbestellsystem nicht erreichbnar ist und du deswegen in diese Timeout-Schleife kommst.
Schöne Grüße,
Stefan
Hallo Alfred,
wenn Aktionen nicht blockierend sein sollen, verwendet man in der Programmierung üblicherweise asynchrone AUfrufe, realisiert z.B. über Threads. Die Nutzung von Threads in PHP ist im Webumfeld nicht so einfach. Das ist einer der Gründe, warum ich für bestimmte Dinge eigene Java-/C#-Programme geschrieben habe (Printserver, TSEConector), denn so kann ich das wunderbar entkoppeln.
Beim Gastbestellsystem habe ich den Aufwand nicht gemacht. Stattdessen versucht das Kernsystem direkt mit dem Gastbestellsystem zu kommunizieren. Das macht die Einrichtung viel einfacher, aber im Fall eines nicht erreichbaren Gastbestellsystems wird damit der Client (also die Oberfläche im Browser) komplett ausgebremst. OrderSprinter macht clientseitig immer wieder Status-Abfragen, um zum Beispiel die Icons für eine fehlender Printserver-Anbindung oder TSE einzublenden. Im Rahmen dieser Abfrage findet auch die Kommunikation mit dem Gastbestellsystem statt - die dann regelmäßig in einen Timeout läuft.
Das ist natürlich ziemlich suboptimal und man kann das auch verhindern, indem man die Asynchronität entsprechend einbaut. Aber es kostet halt Zeit und war in der Prio jetzt nicht so hoch.
Ich bin mir ziemlich sicher, dass dein Gastbestellsystem nicht erreichbnar ist und du deswegen in diese Timeout-Schleife kommst.
Schöne Grüße,
Stefan