Thanks, all. Is that Apache timeout controlled by its configuration "Timeout"? I don't think it has anything to do with modPerl. Am I missing something? Thanks.
On Wed, Apr 23, 2025 at 1:41 PM Mithun Bhattacharya <mit...@gmail.com> wrote: > Timeout happens because of how we handle the request. Timeout is basically > no response came back. Why that happens is because we think we want to have > a correct response. Unfortunately for long running requests the correct > response shouldn't be via http response code or we face situations like > this. Instead reply with a 200 OK immediately and then provide correct > status in the message body. Once a response code/header has been sent > timeout won't trigger and you could potentially hold the connection for > hours without a problem. > > On Wed, Apr 23, 2025, 9:32 AM Andreas Mock <andreas.m...@web.de> wrote: > >> Hi Joseph, >> >> your description is very vague, so can only answer on some assumptions: >> >> It sounds like a timeout is fired somewhere. >> >> Best advice in these situations: Log as many steps as you can. Keep your >> eyes open on TCP/IP and higher level timeouts. >> >> Declare only ONE instance responsible for a retry: Either the app server >> calling the dispatcher with several tries or the dispatcher trying for >> himself. Not both. >> >> Best regards >> Andreas >> >> >> Am 23.04.2025 um 16:21 schrieb Joseph He: >> > All, good day. >> > >> > Here is the issue I have. >> > My entire application is running on ModPerl/Apache environment. >> > I send Http::Request with data load from my App server to a dispatch >> > server thru LWP::UserAgent, I set the timeout 600 seconds. >> > >> > The dispatch server is supposed to manipulate the data and send the >> > data to an external SFTP server. Because the SFTP can fail, it will >> > keep trying up to 4 times with 30 seconds sleep in case that SFTP >> > connection fails. >> > >> > Recently, I found that I uploaded the file twice sometimes. I figured >> > out the root cause is that my Dispatch server returns 'failure' at 6 >> > minutes while it keeps trying to do the SFTP. The App server >> > received HTTP::Response with error status so it issued another call to >> > send data. It turns out I uploaded the identified file twice. >> > >> > Anybody has this sort of experience? Why does the dispatch server >> > return 'error' while it still processes the data? >> > >> > Thanks a lot, >> > Joseph >> > >> >