Hello guys

I try to use mod_fcgid with django (www.djangoproject.com) and there's 
one thing I can't get.

When mod_fcgid acts as fcgi process manager itself, it controls spawing 
of child processes well. But when we talk about Django, it has it's own 
process manager: flup. Flup forks a few children and passes incoming 
requests to them using its own strategy so mod_fcgid should only send 
all incoming requests to the flup PM process via socket.
If so, I can run the following configuration:

SocketPath /var/lib/apache2/fcgid/sock
IPCConnectTimeout 120
IPCCommTimeout 120
DefaultMaxClassProcessCount 1

so mod_fcgid should start only one wrapper (flup) process and forward 
all requests to there.

But in fact, it seems that mod_fcgid thinks that there is not a PM on 
the other end of socket, but just one child process instead. So while 
one request is processed and it gets one more request, it writes to log:

[Thu Apr 26 15:44:03 2007] [notice] mod_fcgid: too much 
/path/to/django-wrapper process(current:1, max:1), skip the spawn request

and waits until this request is finished before passing the next request 
to the same child. So, every flup instance spawned by mod_fcgid can 
process just one request per a time. But what is a reason for flup to 
spawn a few child processes too then ?

Is it ok with mod_fcgid ? Should I use mod_fastcgi instead ? Or may be 
my config is wrong ? Or even may be I misunderstood things and I DO have 
to make flup to start only one django process ?

I use debian etch package libapache2-mod-fcgid (1.10)

Best regards
Anton Khalikov

This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
Mod-fcgid-users mailing list

Reply via email to