nameko.runners¶
Attributes¶
Classes¶
允许用户并发提供多个服务。 |
Functions¶
|
为上下文块提供多个服务。 |
Module Contents¶
- class nameko.runners.ServiceRunner(config: dict)[源代码]¶
Bases:
object
允许用户并发提供多个服务。 调用者可以为多个服务类注册名称,然后使用 start 方法来提供它们,并使用 stop 和 kill 方法 来停止它们。wait 方法将阻塞,直到所有服务停止。
示例:
runner = ServiceRunner(config) runner.add_service(Foobar) runner.add_service(Spam) add_sig_term_handler(runner.kill) runner.start() runner.wait()
初始化一个服务运行者
- 参数:
config (dict) -- 配置字典,从yaml配置文件中解析出来的, 默认为只有1个 AMQP 地址
- service_map: Dict[str, nameko.containers.ServiceContainer][源代码]¶
- container_cls: Type[nameko.containers.ServiceContainer][源代码]¶
- nameko.runners.run_services(config: dict, *services: Type, **kwargs)[源代码]¶
为上下文块提供多个服务。 调用者可以指定多个服务类,然后在退出上下文块时 停止(默认)或杀死它们。
示例:
with run_services(config, Foobar, Spam) as runner: # 与服务交互并在退出块时停止它们 # 服务已停止
可以通过关键字参数指定额外的配置,以供 :class:
ServiceRunner
实例使用:with run_services(config, Foobar, Spam, kill_on_exit=True): # 与服务交互 # 服务已被杀死
- Parameters:
- configdict
用于实例化服务容器的配置
- services服务定义
在上下文块中提供的服务
- kill_on_exitbool (default=False)
如果为
True
,在退出上下文块时对服务容器调用kill()
。 否则在退出块时将调用stop()
。
- Returns:
配置好的
ServiceRunner
实例