Live data from Hacker News

Introducing Chronos: A Replacement for Cron

nerds.airbnb.com

21–30 of 63 posts

Re: Introducing Chronos: A Replacement for Cron

#21
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…

> It is hugely more convenient and usable than cron. Once you have it, you immediately spot lots of opportunities to factor systems into scheduled jobs that you might have avoided doing if it meant you had to deal with cron.

That's actually pretty interesting. Can you give a few examples that fall out of having a more fine grained (millisecond) resolution?

Re: Introducing Chronos: A Replacement for Cron

#22
This is almost like saying "A Replacement for Gravity".

The benefit having something so simple and singular in function with no dependencies is that there's so little to break. While I appreciate the need for having something with more capability, calling it a "replacement" is a bit facetious.

I wish them success and call it an airplane. I'll stick to my hang glider.

Re: Introducing Chronos: A Replacement for Cron

#23
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.

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...

Re: Introducing Chronos: A Replacement for Cron

#24
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 don't think it's uncommon at all to roll your own job scheduler. I know I've done it at the last two places I have worked, though neither had nearly as fancy a front-end as Chronos appears to have. This particular scheduler (Chronos) looks like a cross between traditional cron and HPC cluster job scheduling systems (a la Sun Grid Engine). It looks like a really cool project.

Re: Introducing Chronos: A Replacement for Cron

#26
post #24
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 don't think it's uncommon at all to roll your own job scheduler. I know I've done it at the last two places I have worked, though neither had nearly as fancy a front-end as Chronos appears to have. This particular scheduler (Chronos) looks like a cross between traditional cron and HPC cluster job scheduling systems (a la Sun Grid Engine). It looks like a really cool project.

That depends on what you mean by job scheduling, right? Lots of people would call Resque a job scheduling system, but they still reach for cron when they want to run something every 5 minutes.

Re: Introducing Chronos: A Replacement for Cron

#27
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…

Don't suppose you could be convinced to release that scheduling daemon as open source, could you?

Seems like it's all downside and not much upside; it's an unambitious little C project that would mostly give people an opportunity to write blog posts about my C programming style. :)

I'm not saying I'll never publish code, just that I've become choosy about it in my advancing years.

Re: Introducing Chronos: A Replacement for Cron

#28
post #21
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…

> It is hugely more convenient and usable than cron. Once you have it, you immediately spot lots of opportunities to factor systems into scheduled jobs that you might have avoided doing if it meant you had to deal with cron. That's actually pretty interesting. Can you give a few examples that fall out of having a more fine grained (millisecond) resolution?

One example that jumps to mind was that I was able to rip out several hundred lines of fiddley retry and backoff code and replace it with fine-grain-timed repeating events.

One advantage to doing this in Redis was that our events aren't just "run a program" (though we can do that); we can also push onto a queue that consumers BLPOP from, or send a pubsub message to a bunch of consumers, or increment counters.

later

Makes you think, it's nice that Redis is minimal, but a core feature that might work really nicely with Redis is timer support.

Re: Introducing Chronos: A Replacement for Cron

#29
post #9

This is brilliant! I've had to do a lot of work creating queue based systems in recent years, and i really like off the shelf solutions to problems like this. Cron is a great tool, but its a mess once you have a bunch of machines and it really just does not scale.

By itself it does not. If you have a bunch of machines, you also have a config system (right?) and they (puppet, chef and so on) have the means to manage cron tasks as a class.

You still get cron, and the means to manage them across one's servers.

Re: Introducing Chronos: A Replacement for Cron

#30
post #23
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.

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?
Post reply on HN