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