本文整理汇总了Python中worker.Worker.fire方法的典型用法代码示例。如果您正苦于以下问题:Python Worker.fire方法的具体用法?Python Worker.fire怎么用?Python Worker.fire使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类worker.Worker
的用法示例。
在下文中一共展示了Worker.fire方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_thread_safe
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import fire [as 别名]
def test_thread_safe(self):
"""
These tests are related to:
http://stackoverflow.com/q/3752618
I'm not even sure if these tests are correct.
"""
from worker import Worker
with self.subTest("one-time listener"):
a = Worker().start()
@a.listen("test")
def handler(event):
a.unlisten(handler)
a.fire("test")
a.stop().join()
self.assertNotIn(handler, a.listener_pool)
self.assertEqual(a.listeners.get("test", []), [])
with self.subTest("add listener in listener callback"):
a = Worker().start()
@a.listen("test")
def _(event):
@a.listen("test")
def _(event):
pass
a.fire("test")
a.stop().join()
self.assertEqual(len(a.listeners.get("test", [])), 2)
示例2: test_priority
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import fire [as 别名]
def test_priority(self):
from worker import Worker
access = []
thread = Worker().start()
def register(i, priority):
@thread.listen("MY_EVENT", priority=priority)
def _(event):
access.append(i)
for i, p in enumerate([1, 3, 3, 1, 2]):
register(i, p)
thread.fire("MY_EVENT").stop().join()
self.assertEqual(access, [1, 2, 4, 0, 3])
示例3: test_listener
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import fire [as 别名]
def test_listener(self):
from worker import listen, create_worker, wait_forever, Worker
with self.subTest("once"):
a = 0
@create_worker
def thread():
@listen("COUNT", once=True)
def _(event):
nonlocal a
a += 1
wait_forever()
thread.fire("COUNT")
thread.fire("COUNT")
time.sleep(0.5)
self.assertEqual(a, 1)
thread.stop().join()
with self.subTest("permanent"):
a = 0
thread = Worker().start()
@thread.listen("COUNT")
def _(event):
nonlocal a
a += 1
thread.fire("COUNT")
thread.stop().join()
thread.start()
thread.fire("COUNT")
time.sleep(0.5)
self.assertEqual(a, 2)
thread.stop().join()
with self.subTest("non-permanent"):
a = 0
thread = Worker().start()
@thread.listen("COUNT", permanent=False)
def _(event):
nonlocal a
a += 1
thread.fire("COUNT")
thread.stop().join()
thread.start()
thread.fire("COUNT")
time.sleep(0.5)
self.assertEqual(a, 1)
thread.stop().join()
with self.subTest("non-permanent with listen shortcut"):
a = 0
@create_worker
def thread():
@listen("COUNT")
def _(event):
nonlocal a
a += 1
wait_forever()
thread.fire("COUNT")
thread.stop().join()
thread.start()
thread.fire("COUNT")
time.sleep(0.5)
self.assertEqual(a, 2)
thread.stop().join()