Is cron really meeting your scheduling needs?

The folks over at Airbnb were frustrated with how good old cron was not really managing their scheduled jobs.  To limit the frustration they built Chronos.  This week they decided to open source it.  It's built on a Java project from the Apache Project Incubator called Mesos and Maven as the backend.

For those who haven't used it cron is about the simplest scheduling you can do.  Cron works great for kicking off things like backups and basic reporting.  Where cron starts to fail is when you want to do complex jobs that know to start things on a previous jobs success or manage the number of jobs that are running.  The logging and reporting of cron failures is generally pretty rough.  So facing these issues the team decided to write their own replacement.  They additionally needed it to be able to run on multiple machines. 

They started building the system, simple and with functional GUI to make management and reporting easier.  To be redundant a server is chosen to be the "Leader" which keeps track and hands out work to through their API.  If you do connect to a machine that isn't the "Leader" your request is redirected to the "Leader".  If the "Leader" goes down a new "Leader" is elected.  The jobs can have defences and can be run in parallel.  The jobs themselves are written in interrupted BASH Shell commands.  It tries it's best to be flexible and not overly complicated.

If you are looking for a package to manage distributed schedules this one is defiantly worth a look.  Here you can find a good demo talk about how they got to where they are. There are closed source options but they tend to be very complex.  So this is a really nice addition to the open source world.

Brian Wagner

Brian started working with *nix in while a student at Kent State University in the early 90's. In 1995, as an E-Mail Administrator for Caliber Technology (now part of Fedex) he was tasked with administering Sendmail on both Slackware Linux and Solaris Systems. His first home install of Linux was MkLinux DR1 in 1996 on his 60 Mhz PowerMac. Since then Brian has been working and consulting on Linux and it's uses in the Enterprise to support everything from E-Mail, Firewalls, Web and File serving to custom cluster solutions and grid solutions. Brian has had the opportunity to work in both Fortune 500 companies and small 2 person organizations. This has given him the unique insight into the differences every size business faces.