Would it be possible to write a twisted-powered application that opens an interactive shell, e.g. to tweak the business objects served via the twisted protocol layer?

My current problem is that the reactor.run() blocks the application, and the IPython.embed() is only run after the reactor has finished.

有帮助吗?

解决方案

Unless you specifically need extras that are only in ipython, you really should check out manhole (twistedmatrix example code)

It lets you access a python interactive shell that is natively running in the twisted reactor. Normally the shell is accessed via telnet or ssh, but if you wanted to be creative you could wire it up any way you want.

其他提示

... Meanwhile I found an answer to my question: http://twistedmatrix.com/documents/current/core/howto/threading.html

def interact():
   import IPython
   IPython.embed()

reactor.callInThread(interact)
reactor.run()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top