python-gevent/docs/api/gevent.rst

124 lines
2.6 KiB
ReStructuredText

===================================
:mod:`gevent` -- common functions
===================================
.. module:: gevent
The most common functions and classes are available in the
:mod:`gevent` top level package.
Please read :doc:`/intro` for an introduction to the concepts
discussed here.
.. seealso:: :mod:`gevent.util`
.. seealso:: :doc:`/configuration`
For configuring gevent using the environment or the
``gevent.config`` object.
.. autodata:: __version__
Working With Greenlets
======================
See :class:`gevent.Greenlet` for more information about greenlet
objects.
Creating Greenlets
------------------
.. autofunction:: spawn
.. autofunction:: spawn_later
.. autofunction:: spawn_raw
Getting Greenlets
-----------------
.. function:: getcurrent()
Return the currently executing greenlet (the one that called this
function). Note that this may be an instance of :class:`Greenlet`
or :class:`greenlet.greenlet`.
Stopping Greenlets
------------------
.. autofunction:: kill(greenlet, exception=GreenletExit)
.. autofunction:: killall(greenlets, exception=GreenletExit, block=True, timeout=None)
Sleeping
========
.. autofunction:: sleep
.. autofunction:: idle
Switching
=========
.. function:: getswitchinterval() -> current switch interval
See :func:`setswitchinterval`
.. versionadded:: 1.3
.. function:: setswitchinterval(seconds)
Set the approximate maximum amount of time that callback functions
will be allowed to run before the event loop is cycled to
poll for events. This prevents code that does things like the
following from monopolizing the loop::
while True: # Burning CPU!
gevent.sleep(0) # But yield to other greenlets
Prior to this, this code could prevent the event loop from running.
On Python 3, this uses the native :func:`sys.setswitchinterval`
and :func:`sys.getswitchinterval`.
.. versionadded:: 1.3
Waiting
=======
.. autofunction:: wait
.. autofunction:: iwait
.. autofunction:: joinall
Working with multiple processes
===============================
.. note::
These functions will only be available if :func:`os.fork` is
available. In general, prefer to use :func:`gevent.os.fork` instead
of manually calling these functions.
.. autofunction:: fork
.. autofunction:: reinit
Signals
=======
.. autofunction:: signal_handler
Timeouts
========
See class :class:`gevent.Timeout` for information about Timeout objects.
.. autofunction:: with_timeout
.. LocalWords: Greenlet GreenletExit Greenlet's greenlet's
.. LocalWords: automethod