I'm looking for better solution to handling our cron tasks in a load balanced environment.
Currently have:
- PHP application running on 3 CentOS servers behind a load balancer.
- Tasks that need to be run periodically but only on a single machine at a time.
- Good old cron set up to run those tasks on the first server.
- Problems if the first server is out of play for whatever reason.
Looking for:
- Something more robust and de-centralized.
- Load balancing the tasks so multiple tasks would run only once but on random/different servers to spread the load.
- Preventing not having the tasks run when the first server goes down.
- Being able to manage tasks and see aggregate reports ideally using a web interface.
- Notifications if anything goes wrong.
The solution doesn't need to be implemented in PHP but it would be nice as it would allow us to easily tweak it if needed.
I have found two projects that look promissing. GNUBatch and Job Scheduler. Will most likely further test both but I wonder if someone has better solution for the above.
Thanks.