I have a program called a "Sentinel" running permanently on a network. The sentinel needs to perform various different tasks (file copy, read/write data to/from mySQL, ftp files etc) at different intervals.
The Sentinel uses a standard timer component to provide triggers for the various tasks and under normal conditions it works fine. However, my client wants an assurance that the sentinel is bullet-proof and will continue to run under all circumstances including:
Connection failure to mySQL
Anything else that can go wrong...
The software is still being tested and I plan to convert it into a Service Application once the testing is complete. That way I can set it to start automatically after a re-boot.
My question is: am I going about this in the right way: If Yes, do I just have to make sure that all exceptions are trapped. If No, has anyone got any suggestions as to how else this should work?