Commits
- Commit:
59c7ee13b474c7929914075b01cd3593b1beaca7
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fmt
- Commit:
090b8a89faa34cdc41c41e32845f1f5b444536e4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gracefully shut down fastcgi backends
we need to delete the events associated with the backends, otherwise
the server process won't ever quit.
Here, we add a pending counter to every backend and shut down
immediately if they aren't handling any client; otherwise we try to
close them as soon as possible (i.e. when they close the connection to
the last connected client.)
- Commit:
e18b070da8296bb0d5e30c8211aba43cb038d427
- From:
- Omar Polo <op@omarpolo.com>
- Date:
indentation
- Commit:
f740b61b03c9e31f4915ee7d7444d64fc320b41c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
more params from and send a custom list
- Commit:
ce2c9edbc230a052627540e3fd0f8a8b190be850
- From:
- Omar Polo <op@omarpolo.com>
- Date:
define and use GMID_VERSION
- Commit:
d1051bfaa091850cc98f54b07577f2f721890acd
- From:
- Omar Polo <op@omarpolo.com>
- Date:
define some more fcgi param
- Commit:
8ad1c570242cd93f0802931621b49b2510b338e7
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fastcgi: a first implementation
Not production-ready yet, but it's a start.
This adds a third ``backend'' for gmid: until now there it served
local files or CGI scripts, now FastCGI applications too.
FastCGI is meant to be an improvement over CGI: instead of exec'ing a
script for every request, it allows to open a single connection to an
``application'' and send the requests/receive the responses over that
socket using a simple binary protocol.
At the moment gmid supports three different methods of opening a
fastcgi connection:
- local unix sockets, with: fastcgi "/path/to/sock"
- network sockets, with: fastcgi tcp "host" [port]
port defaults to 9000 and can be either a string or a number
- subprocess, with: fastcgi spawn "/path/to/program"
the fastcgi protocol is done over the executed program stdin
of these, the last is only for testing and may be removed in the
future.
P.S.: the fastcgi rule is per-location of course :)