On 6/5/12 1:56 PM, Roberto De Ioris wrote:
uWSGI supports by-default the inheritance of file descriptor 0 for fcgi-like 
startup,
and working on generic file descriptor or inet/upstart/systemd socket 
activation.
I did not find a way to start it using a provided fd -- they are plethora of 
options though, maybe I missed it

it is automatic if the fd is the zero one, otherwise you have to "authenticate" 
it adding a --socket/--http-socket/--fastcgi-socket directive
mapping to the address (this is required for avoiding uWSGI inheriting 
unrelated sockets, like the ones created by ssh-agents and whatever you want).

For example if you map fd 17 to 192.168.1.1:4040 you have to run uwsgi with

--socket 192.168.1.1:4040

it will find fd 17 mapped to a socket, and it will know the socket is 
authorized to be used.

Other components take the special fd://<n>  syntax (like the various routers) 
but i do not think you are intersted in them

Great, thanks, will try this



The vast majority of modern systems expects the file descriptor number on an 
environment variable:

upstart: UPSTART_FDS
systemd: LISTEN_FDS
Yes, this seem fairly standard.
Circus, could follow the same behaviour, but i do not know if a standard will 
be required for that.
The goal of the standard is just to be able to place any wsgi server out there 
and have it working out of the box.
if this is your objective i suggest you to follow the inetd/fastcgi style 
approach and use file descriptor 0 as the communication socket.
Flup and uWSGI will work over this automatically. Gunicorn will work simply 
adding GUNICORN_FD=0

Adding another env-var will mean each server will need to add a condition for 
that (like upstart and systemd)
The thing is, the main process might bind several sockets, and have various subprocesses linked to specific ones, so I guess the uWsgi --socket
approach is the most straightforward

Thanks for all the info

--
Roberto De Ioris
http://unbit.it
JID: robe...@jabber.unbit.it


_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to