summaryrefslogtreecommitdiff
path: root/vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst')
-rw-r--r--vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst76
1 files changed, 0 insertions, 76 deletions
diff --git a/vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst b/vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst
deleted file mode 100644
index ac92534..0000000
--- a/vendor/CherryPy-3.2.0/sphinx/source/concepts/engine.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-*******************
-The CherryPy Engine
-*******************
-
-The :class:`cherrypy.engine<cherrypy.process.wspbus.Bus>` object contains and
-manages site-wide behavior: daemonization, HTTP server start/stop, process
-reload, signal handling, drop privileges, PID file management, logging for
-all of these, and many more.
-
-Any task that needs to happen outside of the request process is managed by
-the Engine via *Plugins*. You can add your own site-wide
-behaviors, too; see :doc:`/progguide/extending/customplugins`. The Engine
-handles these tasks whether you start your site from a script, from an external
-server process like Apache, or via :doc:`cherryd</deployguide/cherryd>`.
-
-State Management
-================
-
-The Engine manages the *state* of the site. Engine methods like
-:func:`cherrypy.engine.start<cherrypy.process.wspbus.start>` move it
-from one state to another::
-
- O
- |
- V
- STOPPING --> STOPPED --> EXITING -> X
- A A |
- | \___ |
- | \ |
- | V V
- STARTED <-- STARTING
-
-Note in particular that the Engine allows you to stop and restart it again
-without stopping the process. This can be used to build highly dynamic sites,
-and is invaluable for debugging live servers.
-
-.. _channels:
-
-Channels
-========
-
-The Engine uses topic-based publish-subscribe messaging to manage event-driven
-behaviors like autoreload and daemonization. When the Engine moves from one
-state to another, it *publishes* a message on a *channel* named after the
-activity. For example, when you call
-:func:`cherrypy.engine.start<cherrypy.process.wspbus.start>`, the Engine
-moves from the STOPPED state to the STARTING state, publishes a message on
-the "start" *channel*, and then moves to the STARTED state.
-
-.. _plugins:
-
-Plugins
-=======
-
-Engine Plugins package up channel listeners into easy-to-use components.
-
-Engine Plugins have a :func:`subscribe<cherrypy.process.plugins.SimplePlugin.subscribe>`
-method which you can use to "turn them on"; that is, they will start listening
-for messages published on event channels. For example, to turn on PID file
-management::
-
- from cherrypy.process.plugins import PIDFile
- p = PIDFile(cherrypy.engine, "/var/run/myapp.pid")
- p.subscribe()
-
-If you want to turn off a plugin, call ``p.unsubscribe()``.
-
-The following builtin plugins are subscribed by default:
-
- * :doc:`Timeout Monitor</progguide/responsetimeouts>`
- * :class:`Autoreloader<cherrypy.process.plugins.Autoreloader>` (off in the "production" :ref:`environment<environments>`)
- * :class:`cherrypy.server<cherrypy._cpserver.Server>`
- * :class:`cherrypy.checker<cherrypy._cpchecker.Checker>`
- * Engine log messages go to :class:`cherrypy.log<cherrypy._GlobalLogManager>`.
- * A :class:`Signal Handler<cherrypy.process.plugins.SignalHandler>`.
-