better loop while donation check in cron, better semaphore to only lock a max time of 10 seconds.