---
title: Keep Your Mongrels on a Leash
teaser: A tool to help manage your Mongrel web processes for Ruby.
tags: web,ruby
author: Jon Yurek
published_on: 2007-01-02
---

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

[Mongrel]: http://rubyforge.org/projects/mongrel/

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.

[Visor]: http://visor.binaryage.com/

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.

[Dashcode]: https://developer.apple.com/downloads/index.action?name=dashcode

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.
