[Buildbot-devel] Long-running (server) commands
Gregory Golberg
grisha at snaplogic.org
Mon May 7 22:12:57 UTC 2007
Hi all,
I just started using buildbot with our project. It's very impressive,
but I ran into an issue right away.
The thing is that what I want is to run a suite of integration tests,
where some tests would start our
server, hit it with some requests, then stop it, start it with a
different configuration, etc. But when I did
something like this:
cmd = RemoteShellCommand(
workdir='.',
command='figleaf -i -- ../python244/bin/SnapServer -c %s &' %
conf,
#'../TestSnapServer ' + conf)
It was kicking off the process but not returning (though the & is, as I
understand, passed to /bin/sh, and
if you do that on the shell command line, you'd return.
But that didn't work even when I kicked off another script that launched
the command in the background
and returned itself - the slave still was hanging.
I finally got it to work by doing exactly the above plus a one-second
timeout -- it killed the shell, leaving
the orphan process running, which is what I wanted.
So my question is, what about enhancement in buildbot for such a
scenario to work out of the box -- allowing
for background processes (assuming these processes have their own way of
being stopped, e.g., they have
a stop script that can be executed in an independent remote command).
More information about the devel
mailing list