summaryrefslogtreecommitdiff
path: root/taskflow/utils/eventlet_utils.py
Commit message (Collapse)AuthorAgeFilesLines
* Use importutils.try_import for optional eventlet importsJoshua Harlow2015-01-251-5/+5
| | | | | | | | | Instead of doing try: except ImportError for eventlet imports use the oslo.utils importutils.try_import function that safely does the same with less verbosity for the optional usage of eventlet imports/code that we have. Change-Id: I7eaa7c5908ffb04282892c9f6af04044b73f4f8c
* Add back a 'eventlet_utils' helper utility moduleJoshua Harlow2015-01-161-0/+34
| | | | | | | | | | | Recreate a very simple eventlet utility module that has only a few features; one function checks if eventlet is available and if not raise an exception; and a constant that can be used by calling code (such as tests or other optional functionality) to check if eventlet is useable before proceeding. Change-Id: I32df0702eeae7c7c78972c9796156dd824b2f123
* Add a futures type that can unify our future functionalityJoshua Harlow2014-10-181-190/+0
| | | | | | | | | | | | | | | | | Move the currently existing green future executor and associated code to a new futures types module so that it can be accessed from this new location (TODO: deprecate the old location and link the old to the new for one release so that we can remove the old link in N + 1 release). This unifies the API that the existing pool (thread or process) future executors and the green thread pool future executor, and the newly added synchronous executor (replacing the previous `make_completed_future` function) provide so there usage is as seamless as possible. Part of blueprint top-level-types Change-Id: Ie5500eaa7f4425edb604b2dd13a15f82909a673b
* Bring in a newer optional eventletJoshua Harlow2014-09-271-3/+1
| | | | | | | | | Since the openstack requirements repo just accepted eventlet>=0.15.1 we might as well also use that version in our optional requirements and remove a piece of code that was dealing with a bug that was fixed in eventlet 0.15. Change-Id: I9b4f9061c7adb7d72315315f41bb0d742b6f56b5
* Make greenexecutor not keep greenthreads activeJoshua Harlow2014-07-091-38/+51
| | | | | | | | | | | | | | Instead of keeping all greenthreads active even if they are not being used only keep the greenthreads active if there exists active work to complete. This saves resources (each greenthread takes up memory) and allows a pool to shrink and grow in a more dynamic fashion. Fixes bug 1339406 Change-Id: Idc8ab8447045915a0ffbaf21fa5c4bdb7a9e3593
* Use futures wait() when possibleJoshua Harlow2014-05-141-1/+50
| | | | | | | | | Instead of always using our custom future wait functionality, only use that functionality if there are green futures and in other cases just use the future wait() function instead. Change-Id: I1eadcf53eb4b5f47b9543965610bfe04fec52e70
* Remove extraneous vim configuration commentsyangxurong2014-02-141-2/+0
| | | | | | | | | Remove line containing comment - # vim: tabstop=4 shiftwidth=4 softtabstop=4 Change-Id: I7581cc88b8de433d5609ed06c6570b0b45c13573 Closes-Bug:#1229324
* Move async utils to own fileJoshua Harlow2013-12-201-54/+5
| | | | | | | | | Instead of mixing eventlet related utility functionality with async utility functionality it seems to make sense to seperate those types into two different files. Change-Id: I8770fa5163feaa5f3666d36bf55d9aa30ca1b15f
* Code cleanup for eventlet_utils.wait_fo_anyIvan A. Melnikov2013-12-201-7/+3
| | | | | | | - waiter class renamed; - unused member removed from it. Change-Id: Id2510211ba726d8ebe17d8a63f6a95ecb761f46e
* Add wait_for_any method to eventlet utilsIvan A. Melnikov2013-12-191-1/+55
| | | | | | | | | This change introduces new utility funtion in eventlet utils, named wait_for_any. It waits on one or more futures until at least some of them completes. This is simplified version of concurrent.futures.wait adapted to work with our green futures. Change-Id: I2ab50c4e108ea1e9c81f618bd8fa8a8156bb695b
* Fix up python 3.3 incompatabilitiesJoshua Harlow2013-11-211-5/+9
| | | | | | | | | | | | Make the python 3.3 testing work by selectively disabling & including eventlet, switch to testtools and testrepository which has 2.6, 2.7, 3.2+ unified testing support so that we can correctly run our tests in all supported python versions. Closes-Bug: #1251660 Co-authored-by: Alexander Gorodnev <agorodnev@griddynamics.com> Change-Id: I23b6f04387cfd3bf6b5a044edffa446ca897ce3a
* Inherit the greenpool default sizeJoshua Harlow2013-10-171-1/+1
| | | | Change-Id: Ia2dc394a03c748e919f2251f618131daea9d5eca
* Create a green executor & green futureJoshua Harlow2013-10-081-0/+127
In order to use the multi-threaded engine which takes an executor as input for projects which have *not* eventlet monkey patched the threading module we provide a eventlet compatible executor and future objects which can work with the same multi-threaded engine. This executor also works in natively threaded applications by correctly altering the future condition attribute to use a greened condition, which is required to make sure that greenthreads run when the condition is waited on. blueprint eventlet-engine Change-Id: Ida9ce6183471ad6b323a3c9ca863561699e32ddc