Ich grüße Euch und bitte Euch um Rat
Also, mal angenommen ich habe ein PHP Skript welches in einer MySQL Tabelle eine Summenberechnung durchführt und unter Umständen Millionen an Eintragen durchackern darf - sprich es läuft seine Zeit. Hinweiß: Die MySQL Connection baue ich mit einem singleton Pattern auf - sprich nur eine Connection.
Wenn ich nun diese Anfrage mittels AJAX absetze, habe ich dann eine Möglichkeit diese Summenbildung während der Laufzeit abzubrechen? Von JavaScript wird ja ein Request an den Apache losgetreten, der einen (PHP) Fork für diese Anfrage erstellt und einen MySQL SELECT abfeuert der unter Umständen bei einem zu großen Zeitbereich einuge Sekunden laufen kann.
Ich weiß, dass man die AJAX Anfrage "aborten" kann. Dies gilt aber vermutlich nur für den Browser-Client, der auf keinen Response mehr wartet? Korrekt? Das PHP Skript und die MySQL Anfrage laufen ja weiterhin auf dem Server und erzeugen einiges an Last. Auch richtig?
Um die Frage von oben nochmals aufzugreifen: Kann ich einen, sagen wir, "Panik-Button" implementieren, den der Kunde klickt, wenn er nachträglich merkt dass die DB Abfrage minutenlang laufen würde, und der die MySQL Anfrage killt und somit auch das PHP Skript das mittels Ajax angestoßen wurde stoppt?
Ich hoffe Ihr versteht mein Problem. Ansonsten würden mich noch Hinweise / Literatur interessieren, die konkret das Zusammenspiel von Apache, PHP und MySQL aufzeigen. WErden z.B. bei 5 gleichzeitig losgetretenen AJAX Anfragen mittels PHP an die DB auch 5 MySQL Prozesse angestoßen oder werden die durch die Session gesammelt und nacheinander abgeschickt?
Ich Danke Euch
Also, mal angenommen ich habe ein PHP Skript welches in einer MySQL Tabelle eine Summenberechnung durchführt und unter Umständen Millionen an Eintragen durchackern darf - sprich es läuft seine Zeit. Hinweiß: Die MySQL Connection baue ich mit einem singleton Pattern auf - sprich nur eine Connection.
Wenn ich nun diese Anfrage mittels AJAX absetze, habe ich dann eine Möglichkeit diese Summenbildung während der Laufzeit abzubrechen? Von JavaScript wird ja ein Request an den Apache losgetreten, der einen (PHP) Fork für diese Anfrage erstellt und einen MySQL SELECT abfeuert der unter Umständen bei einem zu großen Zeitbereich einuge Sekunden laufen kann.
Ich weiß, dass man die AJAX Anfrage "aborten" kann. Dies gilt aber vermutlich nur für den Browser-Client, der auf keinen Response mehr wartet? Korrekt? Das PHP Skript und die MySQL Anfrage laufen ja weiterhin auf dem Server und erzeugen einiges an Last. Auch richtig?
Um die Frage von oben nochmals aufzugreifen: Kann ich einen, sagen wir, "Panik-Button" implementieren, den der Kunde klickt, wenn er nachträglich merkt dass die DB Abfrage minutenlang laufen würde, und der die MySQL Anfrage killt und somit auch das PHP Skript das mittels Ajax angestoßen wurde stoppt?
Ich hoffe Ihr versteht mein Problem. Ansonsten würden mich noch Hinweise / Literatur interessieren, die konkret das Zusammenspiel von Apache, PHP und MySQL aufzeigen. WErden z.B. bei 5 gleichzeitig losgetretenen AJAX Anfragen mittels PHP an die DB auch 5 MySQL Prozesse angestoßen oder werden die durch die Session gesammelt und nacheinander abgeschickt?
Ich Danke Euch
Zuletzt bearbeitet: