Live data from Hacker News

Introducing Chronos: A Replacement for Cron

nerds.airbnb.com

41–50 of 63 posts

Re: Introducing Chronos: A Replacement for Cron

#41
Im not sure what mesos brings to the table (possibly distributed dependency management), but for a powerful replacement for cron with dependency management, logging, etc. one could use systemd timers [1]

1. http://jason.the-graham.com/2013/03/06/how-to-use-systemd-ti...

Re: Introducing Chronos: A Replacement for Cron

#42
post #19

so... cron's a 200kb self contained C program, super simple, does one thing, and does it well. Chronos is built on top of frameworks, needs a few services to run. Certainly it has value, but marketing it as a cron replacement is wrong imo. Chronos is one of these "web-server-service-tool" thingie, but no, it's not cron.

It's solving a rather different problem than cron, but it's a problem that many people first attempt to use cron to solve. It's a replacement not in the sense of being a better cron, but as solving a problem for which cron is often used inappropriately.

Re: Introducing Chronos: A Replacement for Cron

#43
post #11

I'm surprised there aren't more things like this, because Cron replacements are really valuable. We wrote a small C program that serves as a scheduling daemon with Redis; we have a keyspace in Redis that can be used to schedule millisecond-granular periodic or one-shot tasks with a flexible "Chronic"-like specification syntax. It is hugely more convenient and usable than cron. Once you have it, you immediately spot l…

I'll mention solving a lateral problem. We liked crond fine, but wanted a minimal impact way to make crons to survive machine stalls, they needed to consistently run somewhere.

So a small bit of Python is enough to perform ephemeral leader election -- for the current minute -- in Zookeeper. Prefixed to otherwise stock invocations a set of machines run the same thing, one of them wins, nobody gets paged.

  * * * * * my long and winding command
  [becomes]
  * * * * * cron-coord somename my long and winding command

Re: Introducing Chronos: A Replacement for Cron

#44
Many people do much of the fancy stuff with system managment products (Tivoli or BMC patrol spring to mind from past experiences). With that they can do centralised monitoring of the server and services and software and automate responses to defined conditions allowing automatic responses with the right thought and alerting callout when exceptions to the rules occur and when things need looking at.

Now all that said, I'm not uptodate on that side of things and even less uptodate on open source alternative, though my quick look at this does indicate that it is a start in the right directon and can only get better. So quick look and glance over gave me a good gut feeling, which is always nice to have.

Re: Introducing Chronos: A Replacement for Cron

#45
We've built Luigi at Spotify to solve a lot of similar problems: https://github.com/spotify/luigi

Might be worth checking out if you are building large data flows. We probably run 10k Luigi "tasks" every day, of which the majority is Hadoop jobs. They are all organized in a large dependency graph expressed within Python, and you also get visualization, exception handling, atomic file operation, etc.

Re: Introducing Chronos: A Replacement for Cron

#46
post #23

Earlier quoted context omitted.

Every time I come across one of these heavyweight, dependency-encrusted "replacements" for basic Unix tools, I'm reminded of L33tStart[0], a fictional, satirical init(1) replacement I wrote about on Reddit -- a sort of parody of systemd. Every day, in a bizarre manifestation of Poe's Law, L33tStart seems less and less a parody. [0] http://www.reddit.com/r/programming/comments/14ay0r/hacker_k...

Any chance you could open source L33tStart. Also what type of ponies were you using for your startups? Black or white ponies?

Mostly pink and purple, is my impression.

Re: Introducing Chronos: A Replacement for Cron

#47
post #25

Anyone know why launchd hasn't taken off in this regard? I've used it on my personal systems with success, but rarely (if ever) see it mentioned as a cron replacement. Instead, you frequently see these solutions done from scratch.

Link for the ignorant and lazy, as I once was: http://en.wikipedia.org/wiki/Launchd

Seems like a decent idea. According to Wikipedia, Ubuntu considered it in 2006 when they were looking for a new unit system, but didn't like that it was under Apple's own license, which was shortly thereafter changed to the Apache license.

I'll remember it if I want to do something unconventional on a system.

Re: Introducing Chronos: A Replacement for Cron

#48
I was planning to do something similar after I learned about Mesos although I haven't found the time. At the moment I'm using a few processes with MySQL publishing with RabbitMQ to handle distribution and node failures. It doesn't have nearly as nice an interface but RabbitMQ isn't terribly difficult to manage. Thanks for open sourcing!

Re: Introducing Chronos: A Replacement for Cron

#49
post #36

Earlier quoted context omitted.

My C is terrible, probably far worse than you perceive yours to be. I'm sorry you feel that way. I hope you change your mind, advancing years or no. I'm with Sillysaurus, this is a great solution to a common problem. Pawn off the code onto me and I'll publish it under my name if you're that worried about getting bad publicity. :P

I actually feel very good about my C code; C is my native language. I just feel very bad about the Internet. :)

Then ignore them and please publish.
Post reply on HN