Add python-eventlet 0.16.1
[packages/trusty/python-eventlet.git] / eventlet / doc / modules / backdoor.rst
1 :mod:`backdoor` -- Python interactive interpreter within a running process
2 ===============================================================================
3
4 The backdoor module is convenient for inspecting the state of a long-running process.  It supplies the normal Python interactive interpreter in a way that does not block the normal operation of the application.  This can be useful for debugging, performance tuning, or simply learning about how things behave in situ.
5
6 In the application, spawn a greenthread running backdoor_server on a listening socket::
7     
8     eventlet.spawn(backdoor.backdoor_server, eventlet.listen(('localhost', 3000)))
9     
10 When this is running, the backdoor is accessible via telnet to the specified port.
11
12 .. code-block:: sh
13
14   $ telnet localhost 3000
15   Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
16   [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
17   Type "help", "copyright", "credits" or "license" for more information.
18   >>> import myapp
19   >>> dir(myapp)
20   ['__all__', '__doc__', '__name__', 'myfunc']
21   >>>
22   
23 The backdoor cooperatively yields to the rest of the application between commands, so on a running server continuously serving requests, you can observe the internal state changing between interpreter commands.
24
25 .. automodule:: eventlet.backdoor
26         :members:
27