in reply to avoiding a race
I would log all the errors, probably using syslog / Sys::Syslog then scan the resulting log once an hour or maybe use http://www.crypt.gen.nz/logsurfer/man_logsurfer.html to look for the errors and generate email.