1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
========
Features
========
Async
-----
* A :py:class:`.futurist.GreenThreadPoolExecutor` using `eventlet`_ green
thread pools. It provides a standard `executor`_ API/interface and it also
gathers execution statistics. It returns instances of
:py:class:`.futurist.GreenFuture` objects.
* A :py:class:`.futurist.ProcessPoolExecutor` derivative that gathers execution
statistics. It returns instances of :py:class:`.futurist.Future` objects.
* A :py:class:`.futurist.SynchronousExecutor` that **doesn't** run
concurrently. It has the same `executor`_ API/interface and it also
gathers execution statistics. It returns instances
of :py:class:`.futurist.Future` objects.
* A :py:class:`.futurist.ThreadPoolExecutor` derivative that gathers
execution statistics. It returns instances
of :py:class:`.futurist.Future` objects.
Periodics
---------
* A :py:class:`.futurist.periodics.PeriodicWorker` that can use the previously
mentioned executors to run asynchronous work periodically in parallel
or synchronously. It does this by executing arbitrary functions/methods
that have been decorated with the :py:func:`.futurist.periodics.periodic`
decorator according to a internally maintained schedule (which itself is
based on the `heap`_ algorithm).
.. _heap: https://en.wikipedia.org/wiki/Heap_%28data_structure%29
.. _eventlet: http://eventlet.net/
.. _executor: https://docs.python.org/dev/library/concurrent.futures.html#executor-objects
|