本文整理汇总了Python中nameko.runners.ServiceRunner.wait方法的典型用法代码示例。如果您正苦于以下问题:Python ServiceRunner.wait方法的具体用法?Python ServiceRunner.wait怎么用?Python ServiceRunner.wait使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nameko.runners.ServiceRunner
的用法示例。
在下文中一共展示了ServiceRunner.wait方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_runner_waits_raises_error
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def test_runner_waits_raises_error(fake_module):
class Container(object):
def __init__(self, service_cls, config):
pass
def start(self):
pass
def stop(self):
pass
def wait(self):
raise Exception('error in container')
fake_module.ServiceContainer = Container
config = {'SERVICE_CONTAINER_CLS': 'fake_module.ServiceContainer'}
runner = ServiceRunner(config=config)
runner.add_service(TestService1)
runner.start()
with pytest.raises(Exception) as exc_info:
runner.wait()
assert exc_info.value.args == ('error in container',)
示例2: run_worker
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def run_worker():
config = get_nameko_config()
service_runner = ServiceRunner(config)
service_runner.add_service(RepoWorker)
service_runner.start()
service_runner.wait()
示例3: test_runner_lifecycle
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def test_runner_lifecycle(fake_module):
events = set()
class Container(object):
def __init__(self, service_cls, config):
self.service_name = service_cls.__name__
self.service_cls = service_cls
def start(self):
events.add(('start', self.service_cls.name, self.service_cls))
def stop(self):
events.add(('stop', self.service_cls.name, self.service_cls))
def kill(self):
events.add(('kill', self.service_cls.name, self.service_cls))
def wait(self):
events.add(('wait', self.service_cls.name, self.service_cls))
fake_module.ServiceContainer = Container
config = {'SERVICE_CONTAINER_CLS': 'fake_module.ServiceContainer'}
runner = ServiceRunner(config)
runner.add_service(TestService1)
runner.add_service(TestService2)
runner.start()
assert events == {
('start', 'foobar_1', TestService1),
('start', 'foobar_2', TestService2),
}
events = set()
runner.stop()
assert events == {
('stop', 'foobar_1', TestService1),
('stop', 'foobar_2', TestService2),
}
events = set()
runner.kill()
assert events == {
('kill', 'foobar_1', TestService1),
('kill', 'foobar_2', TestService2),
}
events = set()
runner.wait()
assert events == {
('wait', 'foobar_1', TestService1),
('wait', 'foobar_2', TestService2),
}
示例4: test_runner_lifecycle
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def test_runner_lifecycle():
events = set()
class Container(object):
def __init__(self, service_cls, worker_ctx_cls, config):
self.service_name = service_cls.__name__
self.service_cls = service_cls
self.worker_ctx_cls = worker_ctx_cls
def start(self):
events.add(('start', self.service_cls.name, self.service_cls))
def stop(self):
events.add(('stop', self.service_cls.name, self.service_cls))
def kill(self):
events.add(('kill', self.service_cls.name, self.service_cls))
def wait(self):
events.add(('wait', self.service_cls.name, self.service_cls))
config = {}
runner = ServiceRunner(config, container_cls=Container)
runner.add_service(TestService1)
runner.add_service(TestService2)
runner.start()
assert events == {
('start', 'foobar_1', TestService1),
('start', 'foobar_2', TestService2),
}
events = set()
runner.stop()
assert events == {
('stop', 'foobar_1', TestService1),
('stop', 'foobar_2', TestService2),
}
events = set()
runner.kill()
assert events == {
('kill', 'foobar_1', TestService1),
('kill', 'foobar_2', TestService2),
}
events = set()
runner.wait()
assert events == {
('wait', 'foobar_1', TestService1),
('wait', 'foobar_2', TestService2),
}
示例5: main
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def main():
import logging
logging.basicConfig(level=logging.DEBUG)
config = {'AMQP_URI': 'amqp://guest:[email protected]:5672/'}
runner = ServiceRunner(config)
runner.add_service(MessagingPublisher)
runner.start()
try:
runner.wait()
except KeyboardInterrupt:
runner.stop()
示例6: main
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def main():
logging.basicConfig(level=logging.DEBUG)
config = {'AMQP_URI': 'amqp://guest:[email protected]:5672/'}
runner = ServiceRunner(config)
runner.add_service(HelloWorld)
runner.add_service(FriendlyService)
runner.start()
try:
runner.wait()
except KeyboardInterrupt:
runner.stop()
示例7: main
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def main():
config_dict = get_config_yaml(CONFIG_YAML_PATH)
c = update_config_yaml(config_dict, CONFIG_YAML_PATH)
wus = WatchURLService()
wus.get_config()
runner = ServiceRunner(c)
runner.add_service(WatchURLService)
# container_a = get_container(runner, WatchURLService)
runner.start()
try:
runner.wait()
except KeyboardInterrupt:
runner.kill()
runner.stop()
示例8: main
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def main():
logging.basicConfig(level=logging.DEBUG)
# disable most logging so we can see the console
logger = logging.getLogger("")
logger.setLevel(logging.WARNING)
config = {"AMQP_URI": "amqp://guest:[email protected]:5672/chat"}
runner = ServiceRunner(config)
runner.add_service(Chat)
runner.start()
try:
runner.wait()
except KeyboardInterrupt:
runner.stop()
示例9: handle
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def handle(self, *args, **options):
runner = ServiceRunner(settings.AMQP_CONFIG)
runner.add_service(MasterService)
def shutdown(signum, frame):
eventlet.spawn_n(runner.kill)
signal.signal(signal.SIGTERM, shutdown)
runner.start()
try:
runner.wait()
except KeyboardInterrupt:
try:
runner.stop()
except KeyboardInterrupt:
runner.kill()
示例10: test_runner_waits_raises_error
# 需要导入模块: from nameko.runners import ServiceRunner [as 别名]
# 或者: from nameko.runners.ServiceRunner import wait [as 别名]
def test_runner_waits_raises_error():
class Container(object):
def __init__(self, service_cls, worker_ctx_cls, config):
pass
def start(self):
pass
def stop(self):
pass
def wait(self):
raise Exception('error in container')
runner = ServiceRunner(config={}, container_cls=Container)
runner.add_service(TestService1)
runner.start()
with pytest.raises(Exception) as exc_info:
runner.wait()
assert exc_info.value.args == ('error in container',)