Normally, I'd agree with Brandon and recommend crond/crontab or similar.
I'm trying to solve a semi-related problem (executing after we tell the user we're 'done')
So I'm leaving a post here so I get e-mails that might give me a clue of what to do...