use gen.sleep

instead of elaborate `gen.Task(add_timeout...)`

requires tornado 4.1
This commit is contained in:
Min RK
2015-09-23 17:04:01 +02:00
parent 0c9214ffb7
commit d1edbddb77
5 changed files with 10 additions and 12 deletions

View File

@@ -252,7 +252,7 @@ class Spawner(LoggingConfigurable):
if status is not None: if status is not None:
break break
else: else:
yield gen.Task(loop.add_timeout, loop.time() + self.death_interval) yield gen.sleep(self.death_interval)
def _try_setcwd(path): def _try_setcwd(path):
"""Try to set CWD, walking up and ultimately falling back to a temp dir""" """Try to set CWD, walking up and ultimately falling back to a temp dir"""

View File

@@ -53,12 +53,12 @@ class SlowSpawner(MockSpawner):
@gen.coroutine @gen.coroutine
def start(self): def start(self):
yield gen.Task(IOLoop.current().add_timeout, timedelta(seconds=2)) yield gen.sleep(2)
yield super().start() yield super().start()
@gen.coroutine @gen.coroutine
def stop(self): def stop(self):
yield gen.Task(IOLoop.current().add_timeout, timedelta(seconds=2)) yield gen.sleep(2)
yield super().stop() yield super().stop()

View File

@@ -363,11 +363,10 @@ def test_slow_spawn(app, io_loop):
assert app_user.spawn_pending assert app_user.spawn_pending
assert not app_user.stop_pending assert not app_user.stop_pending
dt = timedelta(seconds=0.1)
@gen.coroutine @gen.coroutine
def wait_spawn(): def wait_spawn():
while app_user.spawn_pending: while app_user.spawn_pending:
yield gen.Task(io_loop.add_timeout, dt) yield gen.sleep(0.1)
io_loop.run_sync(wait_spawn) io_loop.run_sync(wait_spawn)
assert not app_user.spawn_pending assert not app_user.spawn_pending
@@ -377,7 +376,7 @@ def test_slow_spawn(app, io_loop):
@gen.coroutine @gen.coroutine
def wait_stop(): def wait_stop():
while app_user.stop_pending: while app_user.stop_pending:
yield gen.Task(io_loop.add_timeout, dt) yield gen.sleep(0.1)
r = api_request(app, 'users', name, 'server', method='delete') r = api_request(app, 'users', name, 'server', method='delete')
r.raise_for_status() r.raise_for_status()
@@ -410,11 +409,10 @@ def test_never_spawn(app, io_loop):
assert app_user.spawner is not None assert app_user.spawner is not None
assert app_user.spawn_pending assert app_user.spawn_pending
dt = timedelta(seconds=0.1)
@gen.coroutine @gen.coroutine
def wait_pending(): def wait_pending():
while app_user.spawn_pending: while app_user.spawn_pending:
yield gen.Task(io_loop.add_timeout, dt) yield gen.sleep(0.1)
io_loop.run_sync(wait_pending) io_loop.run_sync(wait_pending)
assert not app_user.spawn_pending assert not app_user.spawn_pending

View File

@@ -41,7 +41,7 @@ def wait_for_server(ip, port, timeout=10):
app_log.error("Unexpected error waiting for %s:%i %s", app_log.error("Unexpected error waiting for %s:%i %s",
ip, port, e ip, port, e
) )
yield gen.Task(loop.add_timeout, loop.time() + 0.1) yield gen.sleep(0.1)
else: else:
return return
raise TimeoutError("Server at {ip}:{port} didn't respond in {timeout} seconds".format( raise TimeoutError("Server at {ip}:{port} didn't respond in {timeout} seconds".format(
@@ -67,14 +67,14 @@ def wait_for_http_server(url, timeout=10):
# we expect 599 for no connection, # we expect 599 for no connection,
# but 502 or other proxy error is conceivable # but 502 or other proxy error is conceivable
app_log.warn("Server at %s responded with error: %s", url, e.code) app_log.warn("Server at %s responded with error: %s", url, e.code)
yield gen.Task(loop.add_timeout, loop.time() + 0.25) yield gen.sleep(0.1)
else: else:
app_log.debug("Server at %s responded with %s", url, e.code) app_log.debug("Server at %s responded with %s", url, e.code)
return return
except (OSError, socket.error) as e: except (OSError, socket.error) as e:
if e.errno not in {errno.ECONNABORTED, errno.ECONNREFUSED, errno.ECONNRESET}: if e.errno not in {errno.ECONNABORTED, errno.ECONNREFUSED, errno.ECONNRESET}:
app_log.warn("Failed to connect to %s (%s)", url, e) app_log.warn("Failed to connect to %s (%s)", url, e)
yield gen.Task(loop.add_timeout, loop.time() + 0.25) yield gen.sleep(0.1)
else: else:
return return

View File

@@ -1,5 +1,5 @@
traitlets>=4 traitlets>=4
tornado>=4 tornado>=4.1
jinja2 jinja2
pamela pamela
sqlalchemy sqlalchemy