Drop that cron - use Jenkins instead for scheduled jobs

Some time ago - I was listening to a friend (who is an R&D Manager at a cloud company) talking about the tools they use, and passing heard him describe their use of Jenkins as “cron on steroids”. 
For the non unix-heads (are there any left?) cron is the baked in task scheduler - run things at fixed times, repeat them etc. In fact, Jenkins uses something like the cron syntax when you are specifying specific times you want a Job to run. 

So I quizzed him as to what he meant. At first I was concerned he was an advocate of anabolic steroids - but he isn’t a big guy - so I assume he meant “on steroids” in a good sense ;)

The explanation, paraphrased, is that many important business tasks run as background processes, and can be buried deep in cron tasks that often get forgotten about (until they don’t work) - errors get lost, and are generally invisible to the outside world. Yet these tasks are critical to how things run - and sadly you don’t realise they haven’t been running correctly until someone is very very angry.

Using Jenkins can give all sorts of visibility into this task, options to chain things together, reuse, and trigger on events OTHER than time (this is a very useful point - scheduled tasks are handy - but if you know it could be useful to run it based on some other event - why not). You can also farm out the workload using the CI build servers you already depend on day to day.

I was directed to the following blogs that cover this in more depth than I can:

http://fourword.fourkitchens.com/article/drop-cron-use-hudson-instead (replace hudson with jenkins - of course).

http://www.22ideastreet.com/blog/2014/05/02/replace-local-cron-with-jenkins/

Add new comment