You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Ryszard Szopa <ry...@gmail.com> on 2008/06/02 23:55:05 UTC

view-server through a socket (feature request)

Hi,

I am writing a Common Lisp view-server for CouchDB. It is nearly ready
(there are some Unicode annoyances, of which I wrote in a different
e-mail), so I should be able to open source it in a couple of days.
However, the configuration options for view servers aren't really Lisp
friendly. A Common Lisp compiler is usually rather heavy. You are not
supposed to start it every now and then, which makes standard input
and output a rather lousy way of communicating with a Lisp image. A
lot better is to make the Lisp image listen on a socket.

Right now I write "common-lisp=/usr/bin/socat - TCP4:localhost:5477"
in couchdb.ini. This works fine, but I know that CouchDB is opening
another socket to communicate with the view server. Would it be a big
deal to add the possibility to provide in couchdb.ini a host and port
the view-server would be listening at instead of a program to run?

Cheers,

    -- Richard
-- 
http://szopa.tasak.gda.pl/

Re: view-server through a socket (feature request)

Posted by Damien Katz <da...@gmail.com>.
Cool usage. But for your request for couchdb socket support, I'm not  
sure what you are trying to optimize for.

For each network "session" with the query server, CouchDB would have  
to open a socket anyway. The only thing you save is the spawning of a  
OS process, which by current usage is probably pretty cheap, and also  
CouchDB generally reuses the spawned processes anyway. So I think what  
you have is already fairly efficient.

-Damien

On Jun 2, 2008, at 5:55 PM, Ryszard Szopa wrote:

> Hi,
>
> I am writing a Common Lisp view-server for CouchDB. It is nearly ready
> (there are some Unicode annoyances, of which I wrote in a different
> e-mail), so I should be able to open source it in a couple of days.
> However, the configuration options for view servers aren't really Lisp
> friendly. A Common Lisp compiler is usually rather heavy. You are not
> supposed to start it every now and then, which makes standard input
> and output a rather lousy way of communicating with a Lisp image. A
> lot better is to make the Lisp image listen on a socket.
>
> Right now I write "common-lisp=/usr/bin/socat - TCP4:localhost:5477"
> in couchdb.ini. This works fine, but I know that CouchDB is opening
> another socket to communicate with the view server. Would it be a big
> deal to add the possibility to provide in couchdb.ini a host and port
> the view-server would be listening at instead of a program to run?
>
> Cheers,
>
>    -- Richard
> -- 
> http://szopa.tasak.gda.pl/