- kombu4 wraps recoverable errors as OperationalErrors rather than
raising amqp errors
- also, raise a recoverable error and redeclare if for some reason a
message is double acknowledged... previously, this was hidden.
- ensure socket is not none
- use connect method to ensure connection
This patch replaces the legacy retrying library with the newer
and more convenient tenacity one, taking into account that:
1) retrying uses milliseconds for wait times, but tenacity uses seconds;
2) retrying has a lot of numeric arguments for specifying behaviour
of decorated functions, while tenacity has a few of them, which are
specialized objects, thus making the retry-decorator more flexible.
This patch introduces the following tweaks to the timer
Reduce the number of timers that need to be tracked by reducing the
timer granularity to units of seconds.
Decrease the default timeout values to further reduce the total number
of tracked timers.
Batch multiple expiring events that share the same deadline.
Inline the timer comparison code in the main event loop.
Avoid using an expensive comparison method in the heap sort by using
an integer primitive instead.
Use monotonic time instead of time.time()
I wrote the aioeventlet executor as a first step to replace eventlet
with trollius in OpenStack. Sadly, the project of replacing eventlet
with something else (trollius, threads or whatever) looks to be stuck
because of various reasons. See the spec:
"Replace eventlet + monkey-patching with ??"
Recently, I deprecated the trollius project in favor of asyncio:
Since I abandonned my project to replace eventlet with trollius, I
now propose to remove the unused aioeventlet executor from Oslo
Messaging to simplify the code and remove unused dependencies
Since the aioeventlet executor is not used by any application, it's
safe to remove it. Removing the executor removes trollius and
... The executor may come back "later" when the first OpenStack
service will start to drop Python 2 support.
For more information on asyncio in OpenStack, see:
Note: the executor was added by the change