The new executor supports trollius coroutines, explicit asynchronous programming, in addition to eventlet greenthreads, implicit asynchronous programming. The new AsyncioEventletExecutor class is based on the EventletExecutor class and so it is compatible with it. The aioeventlet executor can be used to replace the eventlet executor, but it requires an aioeventlet event loop running in the thread running the executor (usually the main thread). See AsyncioEventletExecutor docstring for an example how to setup such event loop. The aioeventlet module implements the asyncio API (PEP 3156) on top of eventlet, see aioeventlet documentation: http://aioeventlet.readthedocs.org/ The change adds an unit test with an endpoint implemented as a trollius coroutine. The executor is not supported on Python 3 yet because of eventlet issues with monkey patching. Implements: blueprint greenio-executor Change-Id: I7a78ed998719a703077232726f66d882463b1297
36 lines
826 B
Plaintext
36 lines
826 B
Plaintext
# The order of packages is significant, because pip processes them in the order
|
|
# of appearance. Changing the order has an impact on the overall integration
|
|
# process, which may cause wedges in the gate later.
|
|
|
|
pbr>=0.6,!=0.7,<1.0
|
|
|
|
oslo.config>=1.6.0 # Apache-2.0
|
|
oslo.utils>=1.2.0 # Apache-2.0
|
|
oslo.serialization>=1.2.0 # Apache-2.0
|
|
oslo.i18n>=1.3.0 # Apache-2.0
|
|
stevedore>=1.1.0 # Apache-2.0
|
|
|
|
# for jsonutils
|
|
six>=1.7.0
|
|
|
|
# FIXME(markmc): remove this when the drivers no longer
|
|
# import eventlet
|
|
|
|
eventlet>=0.16.1
|
|
|
|
# for the routing notifier
|
|
PyYAML>=3.1.0
|
|
|
|
# rabbit driver is the default
|
|
kombu>=2.5.0
|
|
|
|
# middleware
|
|
oslo.middleware>=0.3.0 # Apache-2.0
|
|
|
|
# for the futures based executor
|
|
futures>=2.1.6
|
|
|
|
# needed by the aioeventlet executor
|
|
aioeventlet>=0.4
|
|
trollius>=1.0
|