I would actually suggest that you not trigger on email received, and instead trigger every couple minutes like the documentation recommends.Other wise you would have to modify the cron.php to check for a lock file before it runs, if there isn't one create a lock file when it starts, process things, then remove the lock file once it has completed. And then figure out how to remove the frequency settings from the code.