[Twisted-web] Proxy Could not accept new connection
Glyph Lefkowitz
glyph at twistedmatrix.com
Mon Aug 10 20:01:52 EDT 2009
On Mon, Aug 10, 2009 at 5:03 PM, dave fowler <davefowler at gmail.com> wrote:
> Glyph, thanks for the great feedback. I'm looking into all of this now.
> I don't think it's a ulimit issue as it seems to be "unlimited"
>
> root at Proxy1:~# ulimit
> unlimited
>
This is a lie that your shell tells you. Here it is on my computer:
glyph at nhuvasarim:~$ ulimit
unlimited
glyph at nhuvasarim:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16135
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 16135
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
as you can see, many of those values (specifically, in your case, "open
files") do actually have limits.
>
> I think my first step will be to just make a log observer that will simply
> restart the proxy script when it sees (EMFILE) so that I don't have to keep
> logging in at night to restart it myself :).
>
That does sound like a practical measure to take :).
> Thanks for filing that ticket. It would be great if there were a way to be
> notified of the particular error inside the code.
>
No problem; I thought it was already filed.
> I like your suggestion of keeping a list of my open connections. I could
> also keep a time stamp with them and close down the oldest, or any that are
> over a certain time period.
>
That's what I was thinking; or, maybe something more elaborate, like
associating connections with accounts, and kicking off the most active
connection associated with a non-administrator account, or the one which has
been idle the longest... it depends on your application and desired security
model.
> I'm new to twisted. Do you know in what object of the Proxy the new
> connections are made and how to access them to store in a list?
>
The protocol factory is where you'd want to do this. This FAQ deals with
the main question, I think:
<
http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#HowdoImakeinputononeconnectionresultinoutputonanother
>
Thanks again!
>
No problem!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-web/attachments/20090810/792f4fc9/attachment.htm
More information about the Twisted-web
mailing list