eventlet
Installation
To run Pykka on top of eventlet, you first need to install the eventlet package from PyPI:
pip install eventlet
Code changes
Next, all actors must subclass pykka.eventlet.EventletActor
instead of
pykka.ThreadingActor
.
If you create any futures yourself, you must replace
pykka.ThreadingFuture
with pykka.eventlet.EventletFuture
.
With those changes in place, Pykka should run on top of eventlet.
API
- class pykka.eventlet.EventletActor(*args, **kwargs)[source]
EventletActor
implementspykka.Actor
using the eventlet library.This implementation uses eventlet green threads.
- class pykka.eventlet.EventletEvent[source]
EventletEvent
adaptseventlet.event.Event
tothreading.Event
interface.
- class pykka.eventlet.EventletFuture[source]
EventletFuture
implementspykka.Future
for use withEventletActor
.- get(timeout=None)[source]
Get the value encapsulated by the future.
If the encapsulated value is an exception, it is raised instead of returned.
If
timeout
isNone
, as default, the method will block until it gets a reply, potentially forever. Iftimeout
is an integer or float, the method will wait for a reply fortimeout
seconds, and then raisepykka.Timeout
.The encapsulated value can be retrieved multiple times. The future will only block the first time the value is accessed.
- Parameters:
timeout (float or
None
) – seconds to wait before timeout- Raise:
pykka.Timeout
if timeout is reached- Raise:
encapsulated value if it is an exception
- Returns:
encapsulated value if it is not an exception
- set(value=None)[source]
Set the encapsulated value.
- Parameters:
value (any object or
None
) – the encapsulated value or nothing- Raise:
an exception if set is called multiple times
- set_exception(exc_info=None)[source]
Set an exception as the encapsulated value.
You can pass an
exc_info
three-tuple, as returned bysys.exc_info()
. If you don’t passexc_info
,sys.exc_info()
will be called and the value returned by it used.In other words, if you’re calling
set_exception()
, without any arguments, from an except block, the exception you’re currently handling will automatically be set on the future.- Parameters:
exc_info (three-tuple of (exc_class, exc_instance, traceback)) – the encapsulated exception