Hi,<div><br></div><div>I am trying to use the ipython notebook with some example code which sets up a websocket server (using autobahn python <a href="http://autobahn.ws/python/tutorials/echo">http://autobahn.ws/python/tutorials/echo</a> ).</div>
<div><br></div><div>The problem is that I need to call twisted&#39;s reactor.run() method, but this blocks all input, and I need to interact with the objects to send/receive messages. I haven&#39;t been able to get this to work in the notebook yet. I assume its a problem interacting with the tornado eventloop in ipython- but it could be something else (the examples work fine outside of ipython).</div>
<div><br></div><div>Rather than calling reactor.run()- I&#39;ve tried putting it into a thread:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>threading.Thread(target=reactor.run, kwargs={&#39;installSignalHandlers&#39;:False}).start()</div>
</blockquote><div><br></div><div>but that doesn&#39;t work either- it doesn&#39;t ever run.</div><div><br></div><div>The threadedselector doesn&#39;t seem to run either (putting this at the top of my script):</div><div><br>
</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>from twisted.internet import _threadedselect</div></div><div><div>reactor = _threadedselect.install()</div></div></blockquote><div><br></div><div>
There is a possibility to interleave the twisted eventloop with other event loops:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><pre><div class="line" id="LC30"><span class="sd"><font face="arial, helvetica, sans-serif">from twisted.internet import reactor</font></span></div>
</pre></div><div><pre><div class="line" id="LC31"><span class="sd"><font face="arial, helvetica, sans-serif">reactor.interleave(foreignEventLoopWakerFunction)</font></span></div></pre></div></blockquote><div><br></div><div>
but I have no idea which ipython function would serve as a &#39;waker&#39; function.</div><div><br></div><div>Has anyone managed to do this already in the notebook?</div><div><br></div><div>-thanks</div>