Here's the deal:
I have an application that is connected to 2 databases simultaneous and mirrors the changes from one to another.
The problem is that the 2 database servers are not on a LAN but connected through the Internet and at some point my application dies and does not continue mirroring.
The app uses TRY ... EXCEPT almost everywhere and logs the eventual errors that are related to the database inserts/updates/deletes BUT still hangs at some point.
My guess is that at some point it gets disconnected from one of the databases or it waits for ever a reply from one of them

"Forgot to mention that it runs once every 10 minutes"
What do you suggest I do to keep this from happening? I was thinking of storing the last time that the app succesfully did something and compare with the current time and if this interval is larger than ... let's say 30 min ... what ?? End the app and restart it ? Doesn't feel very professional
P.S. I'm using Delphi, IBObjects and Firebird databases.
Maybe you know of a way to catch the disconnection of one of the databases ?