in reply to Cron or running process?

If you run it from cron, just be sure to have "safety catches" (only way I can think to say it). I've faced this problem in the past also, went with cron, which works fine accept on that one in a thousand runs chance that the cron job hangs for some reason, which results over time in multiple copies of the same job running...bah, you know what I mean I hope :) Especially since you mentioned DB and email connections, which means your relying on returns from them to be timely.

"I have never written bad code. There are merely unanticipated features."