Jan: CGI Threading

Beitrag lesen

Hey,

ich habe Schwierigkeiten mit Threads und CGI.

Ausgangssituation:

Der User startet mehrere lange andauernde "Render" Funktion mit AJAX.

Das PERL-CGI Script prüft nun ob er berechtigt ist und gibt zurück ob der Render Vorgang erfolgreich gestartet wurde.

Problem:

Die Antwort kommt erst an nachdem das Rendern abgeschlossen wurde.

Ich habe nun versucht mit Threads dieses Problem zu lösen im etwa so:

  
  
#!/usr/bin/perl -w  
  
use CGI qw/:standard/;  
  
print header, start_html, p('RENDER VORGANG GESTARTET'), end_html;  
  
use Thread qw(yield async);  
async  
{  
  # lange rendern  
};  

Logischerweise funktioniert das nicht, da der Hauptprozess beendet wird.
Der User erhält zwar schnell eine Antwort allerdings wird der Render Prozess nicht ausgeführt:

A thread exited while 2 threads were running.