We are developing an external process (http://wiki.apache.org/couchdb/ExternalProcesses ) in Ruby using EventMachine (EM). This may be a better EM question, but I thought I'd ask here first and at least understand a little more about how couch spawns and kills these processes.

Bottom line: Our EM based external process eats CPU & memory when we kill the couchdb server. Everything else is fine.

We are using EM (like pyton's Twisted, only ruby) because the process does a lot of fire and forget http requests based on the input and output (btw, couch kicks ass). I know the problem exists some where with:

1)  Somehow, couch tells the process to off itself via stdin/out
2) EM is listening on stdio gets an EOF, broken pipe or whatever (and the epic fail begins).

I'm hoping someone here has run into this before, or at least can recommend what to ask of the EM list (is it not handling EOF, or does couch do something else)

Thanks,

Troy



Reply via email to