[Twisted-Python] Regarding Twisted Matrix

naman jain namanvit at gmail.com
Mon Oct 26 23:44:54 MDT 2009


Hi,

I have a client server model in twisted, where the server spawns a thread (
basically a test script in python that runs for about 20 mins)
I want to track the progress of the thread, and send the progress to the
client back

So, I write something like this in my server:

parent_conn, child_conn = Pipe()
thread = Process(target = start_test.main_func, args=(SCRIPT_PATH,
TEMP_OUTPUT_PATH, self.output_name, child_conn))
thread.start()

response = parent_conn.recv()
print response //prints like: initialization done
self.transport.write(response)


response = parent_conn.recv()
print response // configuration done
self.transport.write(response)

.
.
.

thread.join()


But the transport.write calls don't send at the same time. instead they wait
for the thread to finish (coz of thread.join) and then append all the
response and send it back; like "initialization doneconfiguration
done...done"
thereby defeating the purpose of creating a thread.

How do I give the control to the reactor to write the data back, and still
keep the thread running?
or is there any other way these kinda of progress can be tracked ?
I am kinda stuck with this :(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20091027/39bd7a94/attachment.html>


More information about the Twisted-Python mailing list