Ok, enough people are now showing an interest in Nailgun I think we should try to make it work. So here's the deal.

I have a patch that includes nailgun java stuff in the JRuby jar by default, includes tool/nailgun in the bin dist, removes the separate jruby-ng and jruby-ng-server scripts, and adds --ng-server and --ng flags to the normal jruby script. This should make the standard dist always have everything you need to run with nailgun, with the only additional step being that you need to build the "ng" executable.

I have prepared this because Yehuda Katz officially promised me he'd help us make NG work better enough that people can use it. So there's a few things to do:

- Ideally, jruby --ng would be the only flag, and it will start up a server (or n servers) as needed to handle commands. If that's desirable, we need work to make it happen. - I believe having multiple commands run at the *same time* in a given server is probably asking for trouble; they'll grab each others IO streams, they'll manipulate shared JVM data structure, and they'll load conflicting native libraries. So I think what we really want is a server-management setup that will keep a server process hot if necessary but spin up new ones for concurrent requests. Since most people want this for command-line tasks like rake or testing, I think multiple servers would end up being rare. Thoughts? - The ng client needs to pass signals along to the server, and the server needs modifications to handle signals that way. This also plays into the one-command-at-a-time thing, since we *could* just have the ng client forward signals via normal signal calls, rather than pipe them over the socket. This obviously only works if we have a single command running in the server at a time.

I think it's possible to get this running pretty well...at least well enough for people doing a lot of TDD to have a faster edit/test cycle. Who's with me, and who thinks they might be able to help?

- Charlie

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to