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.