From: Ben Darnell Date: Sun, 30 Dec 2018 19:43:04 +0000 (-0500) Subject: queues: Update docs X-Git-Tag: v6.0.0b1~9^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f63eec77ddd2124da6cea1eff178750e89475c3;p=thirdparty%2Ftornado.git queues: Update docs --- diff --git a/tornado/queues.py b/tornado/queues.py index 726477560..d135c3cb0 100644 --- a/tornado/queues.py +++ b/tornado/queues.py @@ -222,10 +222,10 @@ class Queue(Generic[_T]): else: self.__put_internal(item) - def get(self, timeout: Union[float, datetime.timedelta] = None) -> "Future[_T]": + def get(self, timeout: Union[float, datetime.timedelta] = None) -> Awaitable[_T]: """Remove and return an item from the queue. - Returns a Future which resolves once an item is available, or raises + Returns an awaitable which resolves once an item is available, or raises `tornado.util.TimeoutError` after a timeout. ``timeout`` may be a number denoting a time (on the same @@ -280,7 +280,7 @@ class Queue(Generic[_T]): def join(self, timeout: Union[float, datetime.timedelta] = None) -> Awaitable[None]: """Block until all items in the queue are processed. - Returns a Future, which raises `tornado.util.TimeoutError` after a + Returns an awaitable, which raises `tornado.util.TimeoutError` after a timeout. """ return self._finished.wait(timeout) diff --git a/tornado/test/queues_test.py b/tornado/test/queues_test.py index c46c0585b..8e527dbb3 100644 --- a/tornado/test/queues_test.py +++ b/tornado/test/queues_test.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import asyncio from datetime import timedelta from random import random import unittest @@ -143,8 +144,10 @@ class QueueGetTest(AsyncTestCase): @gen_test def test_get_clears_timed_out_getters(self): q = queues.Queue() # type: queues.Queue[int] - getters = [q.get(timedelta(seconds=0.01)) for _ in range(10)] - get = q.get() + getters = [ + asyncio.ensure_future(q.get(timedelta(seconds=0.01))) for _ in range(10) + ] + get = asyncio.ensure_future(q.get()) self.assertEqual(11, len(q._getters)) yield gen.sleep(0.02) self.assertEqual(11, len(q._getters)) @@ -259,8 +262,10 @@ class QueuePutTest(AsyncTestCase): @gen_test def test_put_clears_timed_out_getters(self): q = queues.Queue() # type: queues.Queue[int] - getters = [q.get(timedelta(seconds=0.01)) for _ in range(10)] - get = q.get() + getters = [ + asyncio.ensure_future(q.get(timedelta(seconds=0.01))) for _ in range(10) + ] + get = asyncio.ensure_future(q.get()) q.get() self.assertEqual(12, len(q._getters)) yield gen.sleep(0.02) diff --git a/tornado/websocket.py b/tornado/websocket.py index a9a3e7fe7..50665c694 100644 --- a/tornado/websocket.py +++ b/tornado/websocket.py @@ -1508,10 +1508,10 @@ class WebSocketClientConnection(simple_httpclient._HTTPConnection): ready. """ - future = self.read_queue.get() + awaitable = self.read_queue.get() if callback is not None: - self.io_loop.add_future(future, callback) - return future + self.io_loop.add_future(asyncio.ensure_future(awaitable), callback) + return awaitable def on_message(self, message: Union[str, bytes]) -> Optional[Awaitable[None]]: return self._on_message(message)