Request ohne auf Response zu warten

Tommy57

Erfahrenes Mitglied
Hallo,

ich arbeite gerade an einem Modul, was mittels PHP eine Excel Datei auslesen und verarbeiten soll. Die Verarbeitung kann zwischen einer Sekunde und mehreren Minuten dauern. Damit der User nicht unnötig vor einem endlos ladenden Browser sitzt, möchte ich gerne, dass der Server die Excel Datei nach dem Upload verarbeitet und der User soll einfach alle paar Sekunden über n Ajax Request den Status abfragen und sich die fertig verarbeiteten Daten ziehen.

Es scheitert aktuell nur daran, dass ich irgendwie mit dem User ein Request machen muss, der die Verarbeitung startet und der Browsser dann aber nicht auf ein Response wartet. So könnte der User dann auch weiterhin mit dem Server kommunizieren.

Ich suche aktuell nach einer Technik einen Request rauszuschicken, aber nicht auf ein Response zu warten. Natürlich würde ich mich auch über andere Ideen freuen.

Gruß, Tommy

EDIT: Mit timeout funktioniert es leider auch nicht. Entweder geht der Request nicht durch, oder er wartet bei nachfolenden Requests, bis der Server die erste Anfrage vollständig bearbeitet hat.
 
Zuletzt bearbeitet:
Hey danke sheel für die Antwort. Das Problem war ja unter Anderem auch, dass der Browser die Anfrage nicht abgebrochen hat. Die Funktion ignore_user_abort kannte ich nicht, und wäre hier auch sehr hilfreich gewesen, aber ich habe das JavaScript nicht dazu bekommen, den Aufruf abzubrechen. Trotz timeout konnte ich keine weiteren Requests an den Server senden. Ganz merkwürdig.

Hab die Verarbeitung der CSV jetzt an einen kleinen timer gebunden. Nach etwa 3-5 Sekunden bricht das PHP ab und merkt sich den letzten Stand. Sendet die verarbeiteten Zeilen an den Client und dieser schickt n Request raus, was den Vorgang dann fortsetzt.
 
Zurück