nameko.extensions¶
Attributes¶
Classes¶
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。 |
|
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。 |
|
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。 |
|
入口点封装类 |
Functions¶
|
|
|
|
|
|
|
|
|
对 extension 的子扩展进行深度优先迭代器。 |
Module Contents¶
- class nameko.extensions.Extension[源代码]¶
Bases:
object
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。
此外,bind 和 iter_extensions 使用反射来查找扩展可能声明的任何子扩展。扩展上的任何描述符应该预计在反射过程中被调用,这发生在 ServiceContainer.__init__ 和 ServiceContainer.setup 之间。
Extension.container 属性提供对绑定到该扩展的 nameko.containers.ServiceContainer 实例的访问,否则为 None。
Bases:
Extension
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。
此外,bind 和 iter_extensions 使用反射来查找扩展可能声明的任何子扩展。扩展上的任何描述符应该预计在反射过程中被调用,这发生在 ServiceContainer.__init__ 和 ServiceContainer.setup 之间。
Extension.container 属性提供对绑定到该扩展的 nameko.containers.ServiceContainer 实例的访问,否则为 None。
支持共享的绑定实现。
- class nameko.extensions.DependencyProvider[源代码]¶
Bases:
Extension
请注意,Extension.__init__ 在 bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup。
此外,bind 和 iter_extensions 使用反射来查找扩展可能声明的任何子扩展。扩展上的任何描述符应该预计在反射过程中被调用,这发生在 ServiceContainer.__init__ 和 ServiceContainer.setup 之间。
Extension.container 属性提供对绑定到该扩展的 nameko.containers.ServiceContainer 实例的访问,否则为 None。
- worker_result(worker_ctx, result=None, exc_info=None)[源代码]¶
在服务工作者执行结果时调用。
需要处理结果的依赖项应在此处进行处理。此方法在任何工作者完成时会被调用所有 Dependency 实例。
示例:数据库会话依赖项可能会刷新事务。
- Parameters:
- worker_ctx
WorkerContext
- worker_ctx
- worker_setup(worker_ctx)[源代码]¶
在服务工作者执行任务之前调用。
依赖项应在此处进行任何预处理,如果失败则引发异常。
Example: ...
- Parameters:
- worker_ctx
WorkerContext
- worker_ctx
- worker_teardown(worker_ctx)[源代码]¶
在服务工作者执行完任务后调用。
依赖项应在此处进行任何后处理,如果失败则引发异常。
示例:数据库会话依赖项可能会提交会话。
- Parameters:
- worker_ctx
WorkerContext
- worker_ctx
- class nameko.extensions.Entrypoint(expected_exceptions=(), sensitive_arguments=(), **kwargs)[源代码]¶
Bases:
Extension
入口点封装类
- Parameters:
- expected_exceptions异常类或异常类元组
指定可能由调用者引起的异常(例如,通过提供错误的参数)。 保存在入口点实例中作为
entrypoint.expected_exceptions
,供其他扩展(例如监控系统)后续检查。- sensitive_arguments字符串或字符串元组
将参数或参数的一部分标记为敏感。保存在入口点实例中作为
entrypoint.sensitive_arguments
, 供其他扩展(例如日志系统)后续检查。- seealso: