Hello!

My version of mod_wsgi is running on a Centos-7 system and is at version 
3.4, (I know - very old) with python 2.7

I have been using mod_wsgi for a python application that runs a 
command-line program and marshals the output of the command line program 
back to an http client. The data being sent is binary and can be tens of 
gigs in size.

This app is "unconventional", in that it calls 'write' directly, instead of 
returning an iterable. The problem I have had recently, is that some 
clients are slow to read the data and the TCP buffer gets filled up. When 
this happens, the next call to write on a full buffer causes a "failed to 
write data" exception (which I trap) but if I try again to send the data I 
get "client connection closed".

Is there some config setting or methodology I can use to alleviate this 
issue? In other words, some way to back off and wait for the buffer to 
drain sufficiently to resume sending the data? OR - is there some way to 
get the current size (fullness) of the TCP write buffer on the connected 
socket? (Something like what you see from the 'ss' command line utility 
"Send-Q" column). If I could tell how full it is and what the max size is, 
I could implement a sleep/retry cycle of some kind.

I have looked - even in the source code - but haven't been able to figure 
it out if there is a way to achieve this.  Thanks in advance, for your 
attention.


-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to modwsgi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/3d97c06f-38ff-4345-af2f-eb86c2ef204cn%40googlegroups.com.

Reply via email to