Python tornado.locks.Condition() Examples
The following are 30
code examples of tornado.locks.Condition().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tornado.locks
, or try the search function
.
Example #1
Source File: locks_test.py From teleport with Apache License 2.0 | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(['timeout', 0, 2], self.history) self.assertEqual(['timeout', 0, 2], self.history) c.notify() yield self.assertEqual(['timeout', 0, 2, 3], self.history)
Example #2
Source File: locks_test.py From tornado-zh with MIT License | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = c.wait() self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #3
Source File: locks_test.py From EventGhost with GNU General Public License v2.0 | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(['timeout', 0, 2], self.history) self.assertEqual(['timeout', 0, 2], self.history) c.notify() self.assertEqual(['timeout', 0, 2, 3], self.history)
Example #4
Source File: locks_test.py From tornado-zh with MIT License | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(['timeout', 0, 2], self.history) self.assertEqual(['timeout', 0, 2], self.history) c.notify() self.assertEqual(['timeout', 0, 2, 3], self.history)
Example #5
Source File: locks_test.py From EventGhost with GNU General Public License v2.0 | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = c.wait() self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #6
Source File: locks_test.py From pySINDy with MIT License | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = c.wait() self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #7
Source File: locks_test.py From tornado-zh with MIT License | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(['timeout', 0, 2], self.history) self.assertEqual(['timeout', 0, 2], self.history) c.notify() self.assertEqual(['timeout', 0, 2, 3], self.history)
Example #8
Source File: locks_test.py From tornado-zh with MIT License | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = c.wait() self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #9
Source File: locks_test.py From pySINDy with MIT License | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(['timeout', 0, 2], self.history) self.assertEqual(['timeout', 0, 2], self.history) c.notify() yield self.assertEqual(['timeout', 0, 2, 3], self.history)
Example #10
Source File: locks_test.py From pySINDy with MIT License | 6 votes |
def test_notify_n(self): c = locks.Condition() for i in range(6): self.record_done(c.wait(), i) c.notify(3) self.loop_briefly() # Callbacks execute in the order they were registered. self.assertEqual(list(range(3)), self.history) c.notify(1) self.loop_briefly() self.assertEqual(list(range(4)), self.history) c.notify(2) self.loop_briefly() self.assertEqual(list(range(6)), self.history)
Example #11
Source File: iostream_test.py From opendevops with GNU General Public License v3.0 | 6 votes |
def test_future_close_callback(self): # Regression test for interaction between the Future read interfaces # and IOStream._maybe_add_error_listener. rs, ws = yield self.make_iostream_pair() closed = [False] cond = Condition() def close_callback(): closed[0] = True cond.notify() rs.set_close_callback(close_callback) try: ws.write(b"a") res = yield rs.read_bytes(1) self.assertEqual(res, b"a") self.assertFalse(closed[0]) ws.close() yield cond.wait() self.assertTrue(closed[0]) finally: rs.close() ws.close()
Example #12
Source File: locks_test.py From teleport with Apache License 2.0 | 6 votes |
def test_notify_n(self): c = locks.Condition() for i in range(6): self.record_done(c.wait(), i) c.notify(3) self.loop_briefly() # Callbacks execute in the order they were registered. self.assertEqual(list(range(3)), self.history) c.notify(1) self.loop_briefly() self.assertEqual(list(range(4)), self.history) c.notify(2) self.loop_briefly() self.assertEqual(list(range(6)), self.history)
Example #13
Source File: locks_test.py From teleport with Apache License 2.0 | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = c.wait() self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #14
Source File: iostream_test.py From teleport with Apache License 2.0 | 6 votes |
def test_future_close_callback(self): # Regression test for interaction between the Future read interfaces # and IOStream._maybe_add_error_listener. rs, ws = yield self.make_iostream_pair() closed = [False] cond = Condition() def close_callback(): closed[0] = True cond.notify() rs.set_close_callback(close_callback) try: ws.write(b'a') res = yield rs.read_bytes(1) self.assertEqual(res, b'a') self.assertFalse(closed[0]) ws.close() yield cond.wait() self.assertTrue(closed[0]) finally: rs.close() ws.close()
Example #15
Source File: iostream_test.py From pySINDy with MIT License | 6 votes |
def test_future_close_callback(self): # Regression test for interaction between the Future read interfaces # and IOStream._maybe_add_error_listener. rs, ws = yield self.make_iostream_pair() closed = [False] cond = Condition() def close_callback(): closed[0] = True cond.notify() rs.set_close_callback(close_callback) try: ws.write(b'a') res = yield rs.read_bytes(1) self.assertEqual(res, b'a') self.assertFalse(closed[0]) ws.close() yield cond.wait() self.assertTrue(closed[0]) finally: rs.close() ws.close()
Example #16
Source File: locks_test.py From opendevops with GNU General Public License v3.0 | 6 votes |
def test_garbage_collection(self): # Test that timed-out waiters are occasionally cleaned from the queue. c = locks.Condition() for _ in range(101): c.wait(timedelta(seconds=0.01)) future = asyncio.ensure_future(c.wait()) self.assertEqual(102, len(c._waiters)) # Let first 101 waiters time out, triggering a collection. yield gen.sleep(0.02) self.assertEqual(1, len(c._waiters)) # Final waiter is still active. self.assertFalse(future.done()) c.notify() self.assertTrue(future.done())
Example #17
Source File: locks_test.py From opendevops with GNU General Public License v3.0 | 6 votes |
def test_notify_n_with_timeout(self): # Register callbacks 0, 1, 2, and 3. Callback 1 has a timeout. # Wait for that timeout to expire, then do notify(2) and make # sure everyone runs. Verifies that a timed-out callback does # not count against the 'n' argument to notify(). c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) self.record_done(c.wait(), 3) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(["timeout"], self.history) c.notify(2) yield gen.sleep(0.01) self.assertEqual(["timeout", 0, 2], self.history) self.assertEqual(["timeout", 0, 2], self.history) c.notify() yield self.assertEqual(["timeout", 0, 2, 3], self.history)
Example #18
Source File: locks_test.py From opendevops with GNU General Public License v3.0 | 6 votes |
def test_notify_n(self): c = locks.Condition() for i in range(6): self.record_done(c.wait(), i) c.notify(3) self.loop_briefly() # Callbacks execute in the order they were registered. self.assertEqual(list(range(3)), self.history) c.notify(1) self.loop_briefly() self.assertEqual(list(range(4)), self.history) c.notify(2) self.loop_briefly() self.assertEqual(list(range(6)), self.history)
Example #19
Source File: locks_test.py From pySINDy with MIT License | 5 votes |
def test_repr(self): c = locks.Condition() self.assertIn('Condition', repr(c)) self.assertNotIn('waiters', repr(c)) c.wait() self.assertIn('waiters', repr(c))
Example #20
Source File: locks_test.py From pySINDy with MIT License | 5 votes |
def test_notify(self): c = locks.Condition() self.io_loop.call_later(0.01, c.notify) yield c.wait()
Example #21
Source File: locks_test.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def test_notify_all(self): c = locks.Condition() for i in range(4): self.record_done(c.wait(), i) c.notify_all() self.history.append('notify_all') # Callbacks execute in the order they were registered. self.assertEqual( list(range(4)) + ['notify_all'], self.history)
Example #22
Source File: locks_test.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def test_wait_timeout(self): c = locks.Condition() wait = c.wait(timedelta(seconds=0.01)) self.io_loop.call_later(0.02, c.notify) # Too late. yield gen.sleep(0.03) self.assertFalse((yield wait))
Example #23
Source File: iostream_test.py From pySINDy with MIT License | 5 votes |
def test_streaming_until_close(self): rs, ws = yield self.make_iostream_pair() try: chunks = [] closed = [False] cond = Condition() def streaming_callback(data): chunks.append(data) cond.notify() def close_callback(data): assert not data, data closed[0] = True cond.notify() with ignore_deprecation(): rs.read_until_close(callback=close_callback, streaming_callback=streaming_callback) ws.write(b"1234") while len(chunks) != 1: yield cond.wait() yield ws.write(b"5678") ws.close() while not closed[0]: yield cond.wait() self.assertEqual(chunks, [b"1234", b"5678"]) finally: ws.close() rs.close()
Example #24
Source File: iostream_test.py From pySINDy with MIT License | 5 votes |
def test_streaming_callback_with_final_callback(self): rs, ws = yield self.make_iostream_pair() try: chunks = [] final_called = [] cond = Condition() def streaming_callback(data): chunks.append(data) cond.notify() def final_callback(data): self.assertFalse(data) final_called.append(True) cond.notify() with ignore_deprecation(): rs.read_bytes(6, callback=final_callback, streaming_callback=streaming_callback) ws.write(b"1234") while not chunks: yield cond.wait() ws.write(b"5678") while not final_called: yield cond.wait() self.assertEqual(chunks, [b"1234", b"56"]) # the rest of the last chunk is still in the buffer data = yield rs.read_bytes(2) self.assertEqual(data, b"78") finally: rs.close() ws.close()
Example #25
Source File: locks.py From teleport with Apache License 2.0 | 5 votes |
def __init__(self) -> None: super(Condition, self).__init__() self.io_loop = ioloop.IOLoop.current()
Example #26
Source File: locks_test.py From teleport with Apache License 2.0 | 5 votes |
def test_notify_all_with_timeout(self): c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify_all() yield self.assertEqual(['timeout', 0, 2], self.history)
Example #27
Source File: locks_test.py From teleport with Apache License 2.0 | 5 votes |
def test_nested_notify(self): # Ensure no notifications lost, even if notify() is reentered by a # waiter calling notify(). c = locks.Condition() # Three waiters. futures = [c.wait() for _ in range(3)] # First and second futures resolved. Second future reenters notify(), # resolving third future. futures[1].add_done_callback(lambda _: c.notify()) c.notify(2) yield self.assertTrue(all(f.done() for f in futures))
Example #28
Source File: locks_test.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def test_notify_all_with_timeout(self): c = locks.Condition() self.record_done(c.wait(), 0) self.record_done(c.wait(timedelta(seconds=0.01)), 1) self.record_done(c.wait(), 2) # Wait for callback 1 to time out. yield gen.sleep(0.02) self.assertEqual(['timeout'], self.history) c.notify_all() self.assertEqual(['timeout', 0, 2], self.history)
Example #29
Source File: iostream_test.py From pySINDy with MIT License | 5 votes |
def test_streaming_callback(self): rs, ws = yield self.make_iostream_pair() try: chunks = [] cond = Condition() def streaming_callback(data): chunks.append(data) cond.notify() with ignore_deprecation(): fut = rs.read_bytes(6, streaming_callback=streaming_callback) ws.write(b"1234") while not chunks: yield cond.wait() ws.write(b"5678") final_data = yield(fut) self.assertFalse(final_data) self.assertEqual(chunks, [b"1234", b"56"]) # the rest of the last chunk is still in the buffer data = yield rs.read_bytes(2) self.assertEqual(data, b"78") finally: rs.close() ws.close()
Example #30
Source File: locks.py From pySINDy with MIT License | 5 votes |
def __init__(self): super(Condition, self).__init__() self.io_loop = ioloop.IOLoop.current()