← Back to team overview

sikuli-driver team mailing list archive

Re: [Question #145261]: Sync multiple machines executing event driven testing

 

Question #145261 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/145261

    Status: Open => Answered

RaiMan proposed the following answer:
Very, very interesting.

--1. I would not use Sikuli to synchronize events happening on different
machines. Sikuli should concentrate on managing the visual events on the
machine it is running on.

--2. So you need a message subsystem, that is able to manage the states
of different Sikuli scripts.

--3. Since http (and with it XMLRPC) is widely supported, I would
implement a lightweight http or XMLRPC server (both are available in
python) on one of the clients, which then becomes the message master.

I would use XMLRPC, since you can concentrate on features. The challenge
with the Python SimpleXMLRPCServer is the fact, that it can only process
one request at a time. You will need some threading, to minimize
reaction time.

The server runs in the background (you might need some additional
"admin" client) and the Sikuli scripts only need some basic message
types: sendState, getState and waitForState.

If you really need a full asynch 2-way communication, then each Sikuli
client needs a server, since only these can receive and process
messages. But as far as I understand your needs, the "one-server"
concept should be sufficient.

-- 
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.