I've used BEA JTA transaction management and it worked very well in high load.I'm not sure wethere Tomcat suppotrs JTA or not. but if so it does,I suggest you to put the task on app. server.Then you have better management on critical conditions.