Hi,

I have a Python application doing http PUSH on ATS 2.1.7 and, when the file
is big (tested with 105MB mp4 video), the script sometimes accuse "Errno 23:
Broken pipe" after sending some amount of data (something about 90 to 95MB).

Recently I changed the way data is sent to ATS from loading the full file
into memory to getting chunks of data and sending to ATS.

I never saw that happening when loading a file from the local harddrive, but
when the file is a open connection to a server, the "Broken pipe" occurs
very often.

Python snippet:

*socket.send(header)
for chunk in file_like_object:
    socket.send(chunk)  #Error after some time
socket.send(b'\r\n')*

so, every chunk (I'm using 4KB) is downloaded and sent to ATS. And the
action is repeated until the end of the file.

I guess the pauses between sending 4KB of data and downloading more data
from the web server is making ATS close the connection by thinking the
client was idle for too much time...

Any thoughts on what should I do?

Thanks,
João Bernardo

Reply via email to