[Xapian-discuss] Remote databases and daemons
Olly Betts
olly at survex.com
Thu Mar 30 14:03:19 BST 2006
On Sun, Mar 26, 2006 at 09:42:17PM -0800, Philip Neustrom wrote:
> * The remote protocol is usable only as a Database, not as a
> WriteableDatabase -- is this correct?
Yes. There's no inherent reason, but that's what's implemented at
present.
> So, if I don't want my application to have a copy of the database on
> the same machine I'll need to write an indexer daemon on the remote
> machine and talk to it over TCP if i want to be able to remotely
> index?
Or mount it via NFS or similar perhaps.
> * The socketserver.cc and the corresponding xapian-tcpsrv looks like
> it blocks, even for reads.
xapian-tcpsrv forks itself for each connection, so the blocking is only
within a single connection. So it can handle multiple concurrent
sessions without them blocking each other.
> Here's what I'm thinking: Write a small xapian-daemon server in
> Python that listens on TCP and can index and search. Because xapian
> can only do one write at a time (last i checked?) the server will keep
> a queue of index requests and apply them in order/thread to avoid
> blocking. Is this something that's useful or is there a more
> xapiantic way to do this?
That sounds a reasonable approach.
Cheers,
Olly
More information about the Xapian-discuss
mailing list