On Thu, 9 Aug 2007 20:13:27 -0600
"Alexey Verkhovsky" <[EMAIL PROTECTED]> wrote:
> On 8/9/07, Michael Steinfeld <[EMAIL PROTECTED]> wrote:
> > I installed monit but which lead me to find the correct way to
> > start/stop mongrel instances one pid at a time.
> In RubyWorks Production Stack we solve this problem with runit. And it
> was 37 Signals guys who told me about it. runit doesn't require
> service processes to detach themselves, so Mongrel's shortcomings in
> this area become a non-issue.
So let me see if I have this right. You are saying the PID handling in Mongrel
isn't right, but every single patch you've submitted to me in an attempt to fix
it has been an ugly shitfuck patch that isn't cross platform and myopically
only solves your problem.
Now, I could probably handle that, but then you try to say that the solution is
to use runit. You seen the code in runit? Let me give you a taste of the
if-forrest extravaganza:
if (verbose)
strerr_warn5(INFO, "processing: ", ld->name, "/", ld->fnsave, 0);
if ((fd =open_read(ld->fnsave)) == -1)
fatal2("unable to open input for processor", ld->name);
if (fd_move(0, fd) == -1)
fatal2("unable to move filedescriptor for processor", ld->name);
ld->fnsave[26] ='t';
if ((fd =open_trunc(ld->fnsave)) == -1)
fatal2("unable to open output for processor", ld->name);
if (fd_move(1, fd) == -1)
fatal2("unable to move filedescriptor for processor", ld->name);
if ((fd =open_read("state")) == -1) {
if (errno == error_noent) {
if ((fd =open_trunc("state")) == -1)
fatal2("unable to create empty state for processor", ld->name);
close(fd);
if ((fd =open_read("state")) == -1)
fatal2("unable to open state for processor", ld->name);
Oh yeah, that is sooooo fucking great. This kind of bullshit DJB style code is
all over runit. I wouldn't touch it if it was wrapped in cellophane and I was
behind a cement wall accessible only via a BL4 airlock. Runit is nasty and it
amazes me that people use the damn thing at all.
The fact of the matter is, *RUBY* has shitty PID management. That ultimately,
*YOU* are supposed to use Mongrel as a goddamned *LIBRARY* if you want to embed
it in your own app server and manage the processes better. The existing
scripts are just to handle the 90% cases of developers running stuff locally or
the majority of hosting situations. It's not like Apache, you are not only
allowed to modify it and put it in your own stuff but you are violently
encouraged to do it. Hell there's several books that teach you how and a ton
of examples and SIX fucking entire web frameworks that all use Mongrel this way.
Get off your ass and read some code for a change.
Now normally, I wouldn't get bent out of shape, but you represent a company
that's using my software to make money (or try to make money, since you guys
probably couldn't sell sweet tea to a dying man in the Sahara). What pisses me
off is if you don't like it, then why the hell do you have "Mongrel is stable,
reasonably fast, very easy to configure, and can be used in both production and
development environments." on your damn web site you leeches?
Oh, because putting that there makes potential customers think you like Mongrel
and since they all like mongrel (love even) that gives you some free street
cred.
Well Alex and Thoughtworks, I'm going to be giving full control of Mongrel to a
group of people who just volunteered. You're free to use all your powers of
Neural Linguistic Programming to convince them to include every dumbass thing
you want, and they're free to include it if they want. There won't be anyone
standing in your way and you're free to completely ruin my baby.
And without any more excuses, I feel that it's time you start paying a bit of
this free love and work back to the community in the form of some damn code.
Oh, and quit calling it a damn "stack". It's not a application stack in any
way because it doesn't have a complete administrative system that ties it all
together. It's a bunch of RPMs that you either stole or repackaged and you
provide nothing more than a basic hosting location for people. Add some value
for once and maybe people might actually pay you for the damn product.
--
Zed A. Shaw
- Hate: http://savingtheinternetwithhate.com/
- Good: http://www.zedshaw.com/
- Evil: http://yearofevil.com/
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users