Re:Show HN: Crondom
by mathgladiator on Thursday December 16, 2010 @01:38AM
(#2011304)
This is my first real node.js product that I'm taking into production, and I'm looking for feedback. Thank You.
Please try to break it since it is really fresh. I should have the /etc/init.d stuff and a while true; do bash script set up, so it should come back if it crashes. I would like to have it not crash, but if it does, then things should come back online. It is using https://github.com/mathgladiator/win and https://github.com/mathgladiator/servy
Re:Show HN: Crondom
by tjansen on Thursday December 16, 2010 @05:11AM
(#2011624)
I haven't bothered to register yet, but after looking at the site I don't understand what it does. You say that it's a cron replacement. So is it a software package that you sell? For which platforms? Or is it some kind of SAAS that does something (like doing HTTP requests, or invoke something on my server using some unspecified protocol)?
I honestly don't have any idea what it does. All I know is that it does something in configurable intervals. I guess some additional info on the site would be helpful :)
Re:Show HN: Crondom
by mathgladiator on Thursday December 16, 2010 @09:53AM
(#2012186)
It's basically an HTTP crontab replacement that does a bit more than crontab. Crontab is very regular where as crondom can be irregular. For instance, When there is a lot of events to handle, you want polling to be very fast (1 second resolution). However, where there are very few events, you want the polling to be very slow (every 2 minutes). crondom enables this use case by enabling the developer to determine how long to wait until the next hit.
You can also break up a cron job into # of clients. This enables you to process reasonable large # of clients by giving each client a URL to go with rather than doing the work at the moment. For instance, you want to pull 1000 user twitter feed every day. Well, if it takes 1 second, then you have 1000 seconds of work for the script, or 16 minutes. Most developers are forced to live within 30 seconds per request.
In this same scenario, what happens when it fails for user 377? what happens for 378? Handling errors is not always straight forward especially from a business case. Ideally, crondom will enable us to graph for failure cases (coming soon) and isolate which part of the cron task failed.
Re:Show HN: Crondom
by delano on Thursday December 16, 2010 @10:15AM
(#2012264)
The key word was products, i.e. making a living from building tools for other developers.
There are many more developer-run companies today than there were 10 years ago and the number will continue to grow. There have never been more opportunities to do that than right now.
Re:Show HN: Crondom
by delano on Friday December 17, 2010 @11:51AM
(#2016743)
OSS is an opportunity. It's not about the software; it's about the services and the ecosystem. There are a lot of people making money from Wordpress plugins, themes, and development.
Re:Show HN: Crondom
by catshirt on Thursday December 16, 2010 @04:03AM
(#2011514)
I actually didn't even consider that far; I stopped after "why would you name your product something like condom".
To be fair, it's a solid idea that I imagine would do well regardless of the name. To continue being fair, it's hard to picture the name not being a point of friction in at least some scenarios For instance, picking the name out of a list of possible choices. There are unfortunately likely more limiting scenarios than that.
Re:Show HN: Crondom
by mathgladiator on Thursday December 16, 2010 @09:56AM
(#2012197)
I'll probably launch a better brand-name that's more family safe, but when I thought up this name my gut instinct was a giant "YES, this is so awesome".
He's selling to sysadmins and developers many (most?) of whom will have to get management approval to purchase. The name can definitely be a limiting factor to sales.
Re:Show HN: Crondom
by mike-cardwell on Thursday December 16, 2010 @05:45AM
(#2011660)
It strikes me as the sort of thing that should be one function of a much larger app. Not a standalone app on its own. If the intention is to make it a paid for service, I simply don't think it's worth paying for. Other people might be willing to pay for it, but I'm not sure exactly who.
Re:Show HN: Crondom
by IgorPartola on Thursday December 16, 2010 @08:09AM
(#2011868)
Some of the features sound neat. The question in my mind is, how do the jobs on the Crondom server trigger local scripts? Also the name is both cool and terrible: it reads like condom everytime I glance at it.
Re:Show HN: Crondom
by liuliu on Thursday December 16, 2010 @02:19AM
(#2011368)
I don't know. It feels like with this line, the job will be run at 7, 14, 21, 28, 35, 42, 49, 56, thus, between 56 and the next 7, you will have 11 minutes interval. Not that familiar with crontab, I may be wrong here.
Re:Show HN: Crondom
by mike-cardwell on Thursday December 16, 2010 @09:56AM
(#2012193)
You misunderstand what he's saying. Because 60 doesn't divide into 7, don't use one 60 minute cron job. Use 7 cron jobs. You could get this magical 7 minute experience over a 24 hour period by creating the following 7 jobs:
0-56/7 0-21/7 * * * Command
3-59/7 1-22/7 * * * Command
6-55/7 2-23/7 * * * Command
2-58/7 3-17/7 * * * Command
5-54/7 4-18/7 * * * Command
1-57/7 5-19/7 * * * Command
4-53/7 6-20/7 * * * Command
Of course, the last job would finish at 23:55, and the next start at 00:00 which is bad. So you'd need to do it on a per day basis. Luckily there are 7 days in the week. So you would just need to write those 7 jobs above on a per day basis. You'd end up with 49 jobs all looking similar to this:
Re:Show HN: Crondom
by mathgladiator on Thursday December 16, 2010 @10:26AM
(#2012297)
I wrote a simple script to generate cron tab specs for "every X minute", and while I enjoyed using gcd and lcm in a real application; something wasn't right. 7 is a very canonical and crazy case because it takes 7 days to cycle. but even then, it doesn't work with months except for February for non leap years.
Re:Show HN: Crondom
by pshirishreddy on Thursday December 16, 2010 @03:56AM
(#2011506)
why not put an openID login. I find a lot of new review my app's but every app I find points me to register as a new user. Why doesn't it use some thing like openID where I can easily login to test it for my needs.
Please try to break it since it is really fresh. I should have the /etc/init.d stuff and a while true; do bash script set up, so it should come back if it crashes. I would like to have it not crash, but if it does, then things should come back online. It is using https://github.com/mathgladiator/win and https://github.com/mathgladiator/servy
I honestly don't have any idea what it does. All I know is that it does something in configurable intervals. I guess some additional info on the site would be helpful :)
You can also break up a cron job into # of clients. This enables you to process reasonable large # of clients by giving each client a URL to go with rather than doing the work at the moment. For instance, you want to pull 1000 user twitter feed every day. Well, if it takes 1 second, then you have 1000 seconds of work for the script, or 16 minutes. Most developers are forced to live within 30 seconds per request.
In this same scenario, what happens when it fails for user 377? what happens for 378? Handling errors is not always straight forward especially from a business case. Ideally, crondom will enable us to graph for failure cases (coming soon) and isolate which part of the cron task failed.
There are many more developer-run companies today than there were 10 years ago and the number will continue to grow. There have never been more opportunities to do that than right now.
To be fair, it's a solid idea that I imagine would do well regardless of the name. To continue being fair, it's hard to picture the name not being a point of friction in at least some scenarios For instance, picking the name out of a list of possible choices. There are unfortunately likely more limiting scenarios than that.
Seriously though, sounds easy to use, if perhaps a bit overpriced for something I’d mostly want to use on small or personal projects.
I thought you could just do:
Are there any specific app requirements in running 7min or 17sec?
watch -n 17 -p command
Make a wrapper to run command in the background (&) if the process runtime is greater than your interval.
screen -dmS 17secondjob perl -Mthreads -e 'while(1){threads->create(sub{`run the command`})->detach();sleep 17}'
0-56/7 0-21/7 * * * Command
3-59/7 1-22/7 * * * Command
6-55/7 2-23/7 * * * Command
2-58/7 3-17/7 * * * Command
5-54/7 4-18/7 * * * Command
1-57/7 5-19/7 * * * Command
4-53/7 6-20/7 * * * Command
Of course, the last job would finish at 23:55, and the next start at 00:00 which is bad. So you'd need to do it on a per day basis. Luckily there are 7 days in the week. So you would just need to write those 7 jobs above on a per day basis. You'd end up with 49 jobs all looking similar to this:
0-56/7 0-21/7 * * Wed Command
That is a Linuxism. I found out the hard way setting up some Solaris 9 scripts last summer.
http://crondom.com/documentation
(very hastily written)