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

Reply via email to