[Mongrel-development] [ANN] Unicorn: UNIX+localhost/LAN-only Mongrel fork

Eric Wong normalperson at yhbt.net
Sat Feb 21 10:10:17 EST 2009

Eric Wong <normalperson at yhbt.net> wrote:
> Ezra Zygmuntowicz <ezmobius at gmail.com> wrote:
> > 	Seems to work as advertised so far, cool stuff ;) One suggestion, folks 
> > are pretty standardized on rack and config.ru files these days. I'd much 
> > rather see unicorn look for a APP_ROOT/config.ru to load as its config 
> > file rather then the eval that returns a hash style it uses now.
> Ezra, thanks for testing and feedback.  Good point about config.ru,
> I'll try to make that change hopefully today to make it easier to
> migrate from existing Rack apps.

I just pushed out the following changes.

  * revamp configuration with Configurator DSL
  * Replace unicorn binary with something rackup-like
  * GNUMakefile: revamp for parallel 1.8/1.9 runs
  * test_exec: fix for temporary files not being cleaned
  * Fix+test reexec error handling on bad inputs

There's also a few to http11 for general Rack compatibility
that should probably be merged for Mongrel 2.0:

  * http11: set SERVER_NAME env regardless of Host: header
  * http11: don't bother defining SERVER_SOFTWARE
    (actually I think I only introduced this second one
    into Unicorn when I renamed the sources and stripped
    out a line)

Basically the latest push includes config.ru compatibility and new test
cases in test/exec/test_exec.rb for binary reexecution, listener
inheritance, and reloading config files (even bad ones).

This new config stuff is completely untested for any real apps and I'll
need to update the examples soonish.  But the new test cases pass in
both 1.9.1 and 1.8.7, which is a good sign.

I think I'll be writing more tests for various parts in the next few
days and avoiding major changes otherwise since I'm satisfied with
the existing feature set.

I also lack many real apps to test on atm since the production apps I
admin are still on various pre-Rack Rails versions[1].  So yeah, some
real world testing/feedback by you all would be greatly appreciated.

[1] Speaking of which, has anybody written a Rack app that wraps
    old Rails interfaces and makes them Rack-compatible yet?

Eric Wong

More information about the Mongrel-development mailing list