atom feed39 messages in ru.sysoev.nginxRe: FCGI.pm ?
FromSent OnAttachments
Chris CorteseFeb 26, 2009 12:40 am 
mikeFeb 26, 2009 1:07 am 
Chris CorteseFeb 26, 2009 1:35 am 
Anoop AliasFeb 26, 2009 1:43 am 
Chris CorteseFeb 26, 2009 2:08 am 
Grzegorz NosekFeb 26, 2009 2:26 am 
Chris CorteseFeb 26, 2009 3:11 am 
Jim OhlsteinFeb 26, 2009 3:35 am 
Grzegorz NosekFeb 26, 2009 4:03 am 
mikeFeb 26, 2009 9:47 am 
Jim OhlsteinFeb 26, 2009 11:53 am 
Cliff WellsFeb 26, 2009 1:02 pm 
mikeFeb 26, 2009 2:19 pm 
Jim OhlsteinFeb 26, 2009 3:10 pm 
Chris CorteseFeb 27, 2009 2:31 am 
lubenFeb 27, 2009 6:11 am 
lubenFeb 27, 2009 6:40 am 
Grzegorz NosekFeb 28, 2009 4:17 am 
mikeFeb 28, 2009 2:03 pm 
Roger HooverMar 3, 2009 1:45 pm 
mikeMar 3, 2009 6:10 pm 
Roger HooverMar 3, 2009 8:08 pm 
Grzegorz NosekMar 4, 2009 12:40 am 
mikeMar 4, 2009 12:54 am 
Grzegorz NosekMar 4, 2009 1:42 am 
Jean-Philippe MoalMar 4, 2009 1:50 am 
mikeMar 4, 2009 2:14 am 
Roger HooverMar 4, 2009 9:03 am 
Roger HooverMar 4, 2009 9:23 am 
mikeMar 4, 2009 11:51 am 
Roger HooverMar 4, 2009 12:34 pm 
mikeMar 4, 2009 8:53 pm 
mikeMar 4, 2009 9:05 pm 
Roger HooverMar 5, 2009 9:22 am 
mikeMar 5, 2009 9:55 am 
Roger HooverMar 5, 2009 12:25 pm 
mikeMar 5, 2009 4:15 pm 
Roger HooverMar 6, 2009 5:21 pm 
mikeMar 6, 2009 6:16 pm 
Subject:Re: FCGI.pm ?
From:Roger Hoover (roge@gmail.com)
Date:Mar 3, 2009 1:45:04 pm
List:ru.sysoev.nginx

Supervisord can do all this and more. It's a full service process manager that can manage daemons in any language, including pools of FastCGI processes.

http://supervisord.org/

It has an XML-RPC interface and cmd line tool (supervisorctl) so you can send commands to the process manager as it's running (for example, starting and stopping a given process or process pool). It even has a language-agnostic event listening API so that you can monitor process manager events and take your own custom actions (such as sending yourselves alerts if a process dies).

Here's a sample config for managing a pool of 5 foo.pl processes and 2 bar.pl processes.

[fcgi-program:foo] socket=tcp://127.0.0.1:4000 process_name = %(program_name)s_%(process_num)s command = /path/to/foo.pl numprocs = 5

[fcgi-program:bar] socket=unix:///path/to/fcgi/socket process_name = %(program_name)s_%(process_num)s command = /path/to/bar.pl numprocs = 2

The FCGI spawning has not been officially released but it's well unit tested in the SVN repo. Just run easy_install http://svn.supervisord.org/supervisor/trunk/

On Sat, Feb 28, 2009 at 2:03 PM, mike <mike@gmail.com> wrote:

fcgiwrap is slowly becoming a must have in my toolbox :)

hopefully soon i will start using it in production. want to get comfortable with it first.

On Sat, Feb 28, 2009 at 4:17 AM, Grzegorz Nosek <grze@gmail.com> wrote:

On czw, lut 26, 2009 at 02:20:18 -0800, mike wrote:

oh, dur. I would need one

spawn-fcgi fcgiwrap etc ...

for -every- "child" instance available. since it only does PHP children itself, yeah?

It's your lucky day ;) Grab a new fcgiwrap snapshot and run it like:

spawn-fcgi (...) -- fcgiwrap -c 10

to have 10 processes preforked (the pool has a static size). This code is rather experimental (may not survive a kill-all-children-in-a-tight-loop test) but looks like it's working.