Thread Logikaufbau bei Parallel::ForkManager (36 answers)
Opened by bianca at 2013-09-27 10:20

thecoder2012
 2013-09-27 14:45
#170710 #170710
User since
2013-02-04
64 Artikel
BenutzerIn
[default_avatar]
2013-09-27T10:49:48 GwenDragon
Ähmm, auch der benutzt fork(). Was soll da stabiler werden?

Es sollte in der Regel selten mehr einfach einen Crash verursachen, ansonsten sollte man einen Bugreport Modul/Perl erstellen. Eine Fehlermeldung kann da schon deutlich hilfreicher sein wie z.B. wenn das Limit gekommen ist unter Windoof.

Das Modul wertet teilweise jedenfalls die Rückmeldungen aus, kümmert sich um das Gerüst drum herum und ist daher sinnvoller als nur pures fork()
Gibt sicher noch viele weitere Modul in Bezug auf Fork je nach Situation.

Bei mir kann ich beim oben genannten Beispiel kein Problem feststellen. Hab den Code genommen, erstellte config.pl mit den Daten, 2 Dateien für den Regex (*-auftrag.dat) und beides wurde per Fork angelaufen um dann in einer Endlosschleife festzuhängen. Je nach Ramverbrauch konnte "Out of memory" kommen aber da hilft ein Sleep (z.B. 250ms) in der Schleife damit Perl/Unterprozess auch die Zeit hat den Ram/Cpu wieder freizugeben.

Genutzt wurde Perl 5.14 (x86) unter Windows 7. Ältere Editionen nutz ich normal nicht mehr.

Ich würde eher halbes dutzend Forks vorher erstellen und z.B. per Socket mit Daten beliefern.

View full thread Logikaufbau bei Parallel::ForkManager