Thread HTTP::Server::Simple und Net::Server::PreFork (2 answers)
Opened by DonKnilch at 2009-11-11 13:36

DonKnilch
 2009-11-11 13:36
#128112 #128112
User since
2009-09-04
62 Artikel
BenutzerIn
[default_avatar]
Hi,

ich möchte einen Webserver Multi-User-fähig machen und daher ein Forking einbauen. Meinen Webserver starte ich mit folgendem Aufruf:

Code: (dl )
my $pid = MyWebserver->new(8080)->background();


Dem zu Grunde liegt ein auf HTTP::Server::Simple beruhendes Modul.

Meine Frage wäre jetzt an dieser Stelle: Wie kann ich das Forking umsetzen?

Mein bisheriger Versuch sah etwa so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
package webserver;
use MyWebserver;
use Net::Server::PreFork;
use base qw(Net::Server::PreFork);

sub process_request {
my $self = shift;
my $pid = MyWebserver->new()->background();
}

webserver->run(port => 8080);


Das funktioniert jedoch nicht. Anfangs hatte ich im new() noch den Port mit übergeben, aber dann kam natürlich die Fehlermeldung, dass der Port schon benutzt wird.

Wie kann ich nun das Forking umsetzen?

Danke Euch vielmals für Eure Hilfe.

MfG
DonKnilch

View full thread HTTP::Server::Simple und Net::Server::PreFork