I'm working on a social networking website where users gain ratings after specific actions taken and proper conditions are met on the tables. The ratings are calculated depending on 'total hours worked' and 'total points gained'. The cron php has an sql that INNER JOINs 7 tables. To keep this up-to-date we run a cron to check the table entries once a day to update values.
This is just one cron of 15 in total. Some of them only sends emails with Mandrill, one sends a newsletter and there will be more newsletter in near future.
Currently, when there is an active event on the site (it's kind of an event networking site but with administration and onsite management features), around 2000+ users and their data are involved in these processes. But there will be more and more soon.
We had two server crashes that really ruined the server because of two crons before, one of them is the one which updates user ratings. The second cron that was having problems was updating the total hours a user worked in two tables. We will need to have even more scheduled tasks for other data like these to be updated automatically.
After some research I've found The Fat Controller which is -
A parallel execution handler, used to repeatedly run other programs, usually scripts, a bit like CRON. It was designed to handle the execution of scripts which perform background processing for websites which generally need to repeat, react to how much work there is to do at any one time or run as a daemon.
(As stated here - http://fat-controller.sourceforge.net/index.html )
Any ideas on how the performance of running 5 php scripts previously used as cron jobs would be compared to running them as cron jobs? Also, some of the cron jobs we currently have need to run in specified hours/days (i.e send mail to a user - not weekend - at 9.30 etc.) is this possible with a tool like the fat controller? Or is it possible to set the task to run once a year?
Any recommendations on the best way to handle this kind of processes would be really appreciated.