Philipp Hasenfratz: "malformed header" bei Flush-( $| )-Versuch

Beitrag lesen

Hallihallo

danke, aber das war nur ein bsp. es geht eigentlich um eine serververarbeitung, wobei der server in regelmässigen abständen dem client sagt, "ja ich bin noch da, 30% wurde schon verarbeitet". nach dem alles verarbeitet wurde, kann die seite komplett ausgegeben werden. die verarbeitung dauert 1-3 min. da kann man den client nicht vor einem weissen bildschirm sitzen lassen.

Ja, das kann ich gut verstehen. Nur leider kenne ich wirklich keinen (einfachen) Weg um dieses Problem zu lösen.
Ich habe mal etwas gesehen x-drive.com (glaube ich), da konnte man zusehen, wie die Datei von Server zu Server übertragen wird; ich meine so eine schöne %-Anzeige.
Ich habe daraufhin gleich mal nachgedacht, wie man sowas macht und habe folgende Strategie entworfen:

Dein Script (welches ca. 1-3 min. läuft) wird aufgerufen. Daraufhin wird die Ausgabe gleich mal auf ein anderes Script weitergeleitet, welches nur den aktuellen Status ausgibt (z. B. status.pl o. ä.). Die "Kommunikation" zwischen diesen beiden Programmen geschieht über eine Datei, welche auf dem Server gespeichert wird und nur die %-Angabe enthält (dein Script, schreibt den aktuellen Status alle 5 sek. o. so in diese Datei). Das status.pl - Script, gibt diesen Wert an den Klient weiter. Der Klient frägt nun (durch einen Refresh der Seite) alle 10 sek. o. so dieses status.pl Programm nach dem aktuellen Status ab.

Es ist zwar nicht die Lösung, welche du dir erhoffst, aber es ist auch eine Lösung. Andere sind mir leider nicht bekannt. Vielleicht solltest du einen neuen Thread mit dieser Frage eröffnen, wo du explizit das Problem nennst und nach deren Lösung fragst.

Viele Grüsse

Philipp