本文整理匯總了Python中tornado.gen.Multi方法的典型用法代碼示例。如果您正苦於以下問題:Python gen.Multi方法的具體用法?Python gen.Multi怎麽用?Python gen.Multi使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類tornado.gen
的用法示例。
在下文中一共展示了gen.Multi方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_multi_exceptions
# 需要導入模塊: from tornado import gen [as 別名]
# 或者: from tornado.gen import Multi [as 別名]
def test_multi_exceptions(self):
with ExpectLog(app_log, "Multiple exceptions in yield list"):
with self.assertRaises(RuntimeError) as cm:
yield gen.Multi([self.async_exception(RuntimeError("error 1")),
self.async_exception(RuntimeError("error 2"))])
self.assertEqual(str(cm.exception), "error 1")
# With only one exception, no error is logged.
with self.assertRaises(RuntimeError):
yield gen.Multi([self.async_exception(RuntimeError("error 1")),
self.async_future(2)])
# Exception logging may be explicitly quieted.
with self.assertRaises(RuntimeError):
yield gen.Multi([self.async_exception(RuntimeError("error 1")),
self.async_exception(RuntimeError("error 2"))],
quiet_exceptions=RuntimeError)
示例2: test_multi_dict
# 需要導入模塊: from tornado import gen [as 別名]
# 或者: from tornado.gen import Multi [as 別名]
def test_multi_dict(self):
@gen.engine
def f():
(yield gen.Callback("k1"))("v1")
(yield gen.Callback("k2"))("v2")
results = yield dict(foo=gen.Wait("k1"), bar=gen.Wait("k2"))
self.assertEqual(results, dict(foo="v1", bar="v2"))
self.stop()
self.run_gen(f)
# The following tests explicitly run with both gen.Multi
# and gen.multi_future (Task returns a Future, so it can be used
# with either).
示例3: test_multi_yieldpoint_delayed
# 需要導入模塊: from tornado import gen [as 別名]
# 或者: from tornado.gen import Multi [as 別名]
def test_multi_yieldpoint_delayed(self):
@gen.engine
def f():
# callbacks run at different times
responses = yield gen.Multi([
gen.Task(self.delay_callback, 3, arg="v1"),
gen.Task(self.delay_callback, 1, arg="v2"),
])
self.assertEqual(responses, ["v1", "v2"])
self.stop()
self.run_gen(f)
示例4: test_multi_yieldpoint_dict_delayed
# 需要導入模塊: from tornado import gen [as 別名]
# 或者: from tornado.gen import Multi [as 別名]
def test_multi_yieldpoint_dict_delayed(self):
@gen.engine
def f():
# callbacks run at different times
responses = yield gen.Multi(dict(
foo=gen.Task(self.delay_callback, 3, arg="v1"),
bar=gen.Task(self.delay_callback, 1, arg="v2"),
))
self.assertEqual(responses, dict(foo="v1", bar="v2"))
self.stop()
self.run_gen(f)
示例5: test_multi_exceptions
# 需要導入模塊: from tornado import gen [as 別名]
# 或者: from tornado.gen import Multi [as 別名]
def test_multi_exceptions(self):
with ExpectLog(app_log, "Multiple exceptions in yield list"):
with self.assertRaises(RuntimeError) as cm:
yield gen.Multi(
[
self.async_exception(RuntimeError("error 1")),
self.async_exception(RuntimeError("error 2")),
]
)
self.assertEqual(str(cm.exception), "error 1")
# With only one exception, no error is logged.
with self.assertRaises(RuntimeError):
yield gen.Multi(
[self.async_exception(RuntimeError("error 1")), self.async_future(2)]
)
# Exception logging may be explicitly quieted.
with self.assertRaises(RuntimeError):
yield gen.Multi(
[
self.async_exception(RuntimeError("error 1")),
self.async_exception(RuntimeError("error 2")),
],
quiet_exceptions=RuntimeError,
)