Zum Inhalt springen

Action: Ausgabe erzeugen vor redirect

Erstellt am 8. April 2014 · 2 Antworten · letzte Antwort am 11. April 2014

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen,

wenn eine Action in einem Controller beendet wird, wird im Anschluss daran die Ausgabe der Seite erzeugt. Wenn eine Action jedoch mit einem $this->redirect(...); zu z.B. einer anderen Action umleitet, wird keine Ausgabe erzeugt.
Ist es in irgend einer Form möglich, trotzdem eine Ausgabe zu erzeugen?

Hintergrund:
Meine Extension muss sehr große Datenmengen verarbeiten, damit komme ich oftmals an das Time- (... und Memory-) Limit von PHP. Um das zu umgehen, soll sich die Action mehrmals selber aufrufen, bis der Datenberg abgearbeitet ist.
Das ganze soweit funktioniert zwar, aber der Benutzer erhält keine Rückmeldung (z.B. 50% erledigt), was aber manchmal wünschenswert wäre.

Ich bin auch anderen Lösungsansätzen gegenüber aufgeschlossen, vielleicht hat jemand eine Idee?

Gruß vom Rhein ...

toifel · · Beste Antwort

Soweit ich weiss wird der renderer immer erst ausgeführt, wenn die restlichen Berechnungen durch sind. Es würde in Deinem Fall also wenig bringen, wenn für den Bruchteil einer Sekunde der gerenderte view erscheint und dann über header(location) weitergeleitet wird.

Ich würde an dieser Stelle den Einsatz von ajax empfehlen.