Keep Your Mongrels on a Leash

Jon Yurek

Note: Dogtag no longer exists thanks to the forward march of progress.

We’re fans of Mac OSX over here, and a number of us have MacBooks or MacBook Pros on which we do our daily development work. And since we’re a Rails shop, we tend to keep around a few Mongrel processes on our local machines running hither and thither with our code. Normally, this would simply mean you keep Terminal.app open and have it running in there.

However, I’ve taken to using Visor as of late, with the modification to make it run transparently in the background (which I’ll get to in my next post). So, since I only have one terminal at any given time, and since (for this app, at least) I have to restart mongrel a lot to effect changes from the lib directory, I’d prefer to not give over my terminal simply for the ease of ctrl-c'ing my mongrel process.

Enter Dogtag, a Dashboard widget I made when I saw the announcement of Apple’s beta release of Dashcode. It runs, and keeps track of, one mongrel process. Give it an environment, a port, and your rails root, then click start. You can restart easily via the restart button. And since it’s nicely multi-instance aware, you can have a few running on different ports and keep track of them all.

It’s not terribly feature-packed, but that’s what dashboard widgets are for. I figure, if I wanted to tweak every setting, I’d make a real Cocoa app to do it. This was about a day’s work and is quite useful to me. I hope someone else finds it useful too.