Schrift
[thread]12539[/thread]

$| (OUTPUT_AUTOFLUSH) und mod_perl

Leser: 2


<< >> 6 Einträge, 1 Seite
DDivine
 2008-09-24 00:14
#114890 #114890
User since
2008-09-23
3 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich setze schon länger OUTPUT_AUTOFLUSH in Form von

Code (perl): (dl )
$| = 1;


in einem Tool ein, das zwischenzeitlich unter Apache2 + mod_perl läuft. Hier finden Generierungen über einen längeren Zeitraum statt und der User soll sehen können, dass sich etwas tut.

Lokal wird ohne mod_perl entwickelt und da funkt alles wunderbar. Meinen Recherchen zufolge mag mod_perl OUTPUT_AUTOFLUSH allerdings nicht, und nun schau ich in die Röhre. Erst nach einem PRINT von mehr als 8KB funktioniert es wieder unter mod_perl, da dann der Cache wohl automatisch geflusht wird.

Da ich keine Lösung ergoogeln und erforen konnte und ich irgendwie nicht finde, daß ein Auffüllen des auszugebenden Strings mit &nbsp;s eine schöner Workaround ist stelle ich hier nun hoffnungsvoll die Frage: wer hat einen Tip parat?!

Schönen Abend
Dennis
pq
 2008-09-24 00:47
#114892 #114892
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
DDivine+2008-09-23 22:14:32--
in einem Tool ein, das zwischenzeitlich unter Apache2 + mod_perl läuft. Hier finden Generierungen über einen längeren Zeitraum statt und der User soll sehen können, dass sich etwas tut.

die portabelste lösung dafür ist, den prozess, der was tut, in den hintergrund zu schicken und
dem browser sofort eine seite zurückzuliefern, die sich regelmässig aktualisiert.
lass den prozess eine status-datei mit einer zufälligen id schreiben, und diese statusdatei
fragst du dann auf der seite ab, bis der prozess fertig ist.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
DDivine
 2008-09-24 11:20
#114898 #114898
User since
2008-09-23
3 Artikel
BenutzerIn
[default_avatar]
Das würde einen recht großen Umbau bedeuten, da das an vielen Stellen so verwendet wird.

Gibt es keine Alternative..? :(
moritz
 2008-09-24 12:37
#114899 #114899
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Dann hast du gleich die Möglichkeit, es beim Umbau schön in ein Modul einzupacken, damit zukünftige Änderungen leichter gehen.

Ernsthaft, langlebige Prozesse von der Gesundheit einer TCP-Verbindung abhängig zu machen ist keine allzu gute Idee. mod_perl und CGI eignen sich wunderbar für Requests im (Sub)Sekundenbereich, alles was länger dauert sollte in den Hintergrund.
pq
 2008-09-24 12:37
#114900 #114900
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
DDivine+2008-09-24 09:20:11--
Das würde einen recht großen Umbau bedeuten, da das an vielen Stellen so verwendet wird.

tja, so ist das leben =)
ein http-request ist nicht dafür gedacht, ewig zu laufen, da kriegst du unter unterschiedlichen
webservern und betriebssystemen unterschiedliche einschränkungen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
DDivine
 2008-09-24 17:18
#114903 #114903
User since
2008-09-23
3 Artikel
BenutzerIn
[default_avatar]
Hachherrje, ich sehe schon meine Kollegen auf mich einreden dass es doch einen anderen Weg geben MUSS... ;)

Vielen Dank für Eure Unterstützung! Ab irgend einer Stelle wird man nunmal DOCH zur Sauberkeit gezwungen. Eigene Module sind sogar schon in Verwendung, aber halt gerade DAFÜR nicht. :-/
<< >> 6 Einträge, 1 Seite



View all threads created 2008-09-24 00:14.