用于在Flask中使用nameko服务的包装器
项目描述
# flask_nameko
用于在Flask中使用nameko服务的包装器
## 安装
通过PyPI安装
pip install flask_nameko
## 使用
要开始使用`flask_nameko`,您需要创建并配置一个新的`FlaskPooledClusterRpcProxy`单例,您将使用它来与您的Nameko集群进行通信。
# __init__.py
from flask import Flask
from flask_nameko import FlaskPooledClusterRpcProxy
rpc = FlaskPooledClusterRpcProxy()
def create_app()
app = Flask(__name__)
app.config.update(dict(
NAMEKO_AMQP_URI='amqp://localhost'
))
rpc.init_app(app)
app = create_app()
然后,您可以使用`FlaskPooledClusterRpcProxy`单例,就像您通常使用`ClusterRpcProxy`一样,通过按名称访问单个服务并调用它们的方法来使用它
# routes.py
from . import (
app,
rpc
)
@app.route('/')
def index()
result = rpc.service.do_something('test')
return result
## API
### 配置
`FlaskPooledClusterRpcProxy`接受所有nameko配置值,前缀为`NAMEKO_`。此外,它还公开了额外的配置选项
* `NAMEKO_INITIAL_CONNECTIONS (int, default=2)` - 创建到Nameko集群的初始连接数
* `NAMEKO_MAX_CONNECTIONS (int, default=8)` - 在引发错误之前创建到Nameko集群的最大连接数
* `NAMEKO_CONNECT_ON_METHOD_CALL (bool, default=True)` - 当访问服务时是否应该加载服务连接(False)或在服务上调用方法时(True)
* `NAMEKO_RPC_TIMEOUT` (int, default=None) - 在尝试调用服务RPC方法时引发错误之前的时间(毫秒)
* `NAMEKO_POOL_RECYCLE` (int, default=None) - 如果指定,则旧于该间隔(以秒为单位)的连接将在借出时自动回收。此设置对于通过代理(如HAProxy)自动关闭连接的环境很有用。
### 代理
*flask_nameko.**FlaskPooledClusterRpcProxy**(app=None, connect_on_method_call=True)*
此类用于创建到Nameko集群的连接池。它提供了以下选项
* `connect_on_method_call` - 如果此选项为真,则方法在服务上调用时创建到服务的连接,而不是在访问服务时创建
*init_app(app=None)*
配置特定应用的代理。
## 开发
$ git clone git@github.com:jessepollak/flask_nameko.git flask_nameko
$ cd flask_nameko
$ make develop
=======
历史
=======
`1.4.0 <https://github.com/clef/flask-nameko/compare/v1.3.0...v1.4.0>`__ (2017-09-10)
-------------------------------------------------------------------------------------
特性
~~~~~~~~~~~~~
- **Python**: 支持 Python 3,修复 pep8 违规
(`69d116 <https://github.com/jessepollak/flask-nameko/commit/69d116>`__)
`1.3.0 <https://github.com/clef/flask-nameko/compare/v1.2.0...v1.3.0>`__ (2016-09-20)
-------------------------------------------------------------------------------------
文档
~~~~~~~~~~~~~
- **README**: 添加 NAMEKO_POOL_RECYCLE 文档
(`a27a1be <https://github.com/clef/flask-nameko/commit/a27a1be>`__)
特性
~~~~~~~~
- **ConnectionPool**: 添加回收池以消除已关闭的连接问题
问题
(`4d90f1d <https://github.com/clef/flask-nameko/commit/4d90f1d>`__)
`1.2.0 <https://github.com/clef/flask-nameko/compare/v1.1.1...v1.2.0>`__ (2016-09-16)
-------------------------------------------------------------------------------------
特性
~~~~~~~~
- **PooledClusterRpcProxy**: 添加对 NAMEKO_RPC_TIMEOUT 设置的支持
设置
(`d4d6042 <https://github.com/clef/flask-nameko/commit/d4d6042>`__)
`1.1.0 <https://github.com/clef/flask-nameko/compare/v1.0.1...v1.1.0>`__ (2016-08-09)
-------------------------------------------------------------------------------------
特性
~~~~~~~~
- **FlaskPooledClusterRpcProxy**: 添加 lazy_load_services 配置
(`26184f6 <https://github.com/clef/flask-nameko/commit/26184f6>`__)
`0.1.0 <https://github.com/clef/flask-nameko/compare/89698bba0ece0781f931b006009d3b3468e7883a...v0.1.0>`__ (2016-07-28)
-----------------------------------------------------------------------------------------------------------------------
特性
~~~~~~~~
- **flask\_nameko**: 添加 FlaskPooledClusterRpcProxy
(`285df05 <https://github.com/clef/flask-nameko/commit/285df05>`__)
0.1.0
------------------
* 首次发布于 PyPI。
用于在Flask中使用nameko服务的包装器
## 安装
通过PyPI安装
pip install flask_nameko
## 使用
要开始使用`flask_nameko`,您需要创建并配置一个新的`FlaskPooledClusterRpcProxy`单例,您将使用它来与您的Nameko集群进行通信。
# __init__.py
from flask import Flask
from flask_nameko import FlaskPooledClusterRpcProxy
rpc = FlaskPooledClusterRpcProxy()
def create_app()
app = Flask(__name__)
app.config.update(dict(
NAMEKO_AMQP_URI='amqp://localhost'
))
rpc.init_app(app)
app = create_app()
然后,您可以使用`FlaskPooledClusterRpcProxy`单例,就像您通常使用`ClusterRpcProxy`一样,通过按名称访问单个服务并调用它们的方法来使用它
# routes.py
from . import (
app,
rpc
)
@app.route('/')
def index()
result = rpc.service.do_something('test')
return result
## API
### 配置
`FlaskPooledClusterRpcProxy`接受所有nameko配置值,前缀为`NAMEKO_`。此外,它还公开了额外的配置选项
* `NAMEKO_INITIAL_CONNECTIONS (int, default=2)` - 创建到Nameko集群的初始连接数
* `NAMEKO_MAX_CONNECTIONS (int, default=8)` - 在引发错误之前创建到Nameko集群的最大连接数
* `NAMEKO_CONNECT_ON_METHOD_CALL (bool, default=True)` - 当访问服务时是否应该加载服务连接(False)或在服务上调用方法时(True)
* `NAMEKO_RPC_TIMEOUT` (int, default=None) - 在尝试调用服务RPC方法时引发错误之前的时间(毫秒)
* `NAMEKO_POOL_RECYCLE` (int, default=None) - 如果指定,则旧于该间隔(以秒为单位)的连接将在借出时自动回收。此设置对于通过代理(如HAProxy)自动关闭连接的环境很有用。
### 代理
*flask_nameko.**FlaskPooledClusterRpcProxy**(app=None, connect_on_method_call=True)*
此类用于创建到Nameko集群的连接池。它提供了以下选项
* `connect_on_method_call` - 如果此选项为真,则方法在服务上调用时创建到服务的连接,而不是在访问服务时创建
*init_app(app=None)*
配置特定应用的代理。
## 开发
$ git clone git@github.com:jessepollak/flask_nameko.git flask_nameko
$ cd flask_nameko
$ make develop
=======
历史
=======
`1.4.0 <https://github.com/clef/flask-nameko/compare/v1.3.0...v1.4.0>`__ (2017-09-10)
-------------------------------------------------------------------------------------
特性
~~~~~~~~~~~~~
- **Python**: 支持 Python 3,修复 pep8 违规
(`69d116 <https://github.com/jessepollak/flask-nameko/commit/69d116>`__)
`1.3.0 <https://github.com/clef/flask-nameko/compare/v1.2.0...v1.3.0>`__ (2016-09-20)
-------------------------------------------------------------------------------------
文档
~~~~~~~~~~~~~
- **README**: 添加 NAMEKO_POOL_RECYCLE 文档
(`a27a1be <https://github.com/clef/flask-nameko/commit/a27a1be>`__)
特性
~~~~~~~~
- **ConnectionPool**: 添加回收池以消除已关闭的连接问题
问题
(`4d90f1d <https://github.com/clef/flask-nameko/commit/4d90f1d>`__)
`1.2.0 <https://github.com/clef/flask-nameko/compare/v1.1.1...v1.2.0>`__ (2016-09-16)
-------------------------------------------------------------------------------------
特性
~~~~~~~~
- **PooledClusterRpcProxy**: 添加对 NAMEKO_RPC_TIMEOUT 设置的支持
设置
(`d4d6042 <https://github.com/clef/flask-nameko/commit/d4d6042>`__)
`1.1.0 <https://github.com/clef/flask-nameko/compare/v1.0.1...v1.1.0>`__ (2016-08-09)
-------------------------------------------------------------------------------------
特性
~~~~~~~~
- **FlaskPooledClusterRpcProxy**: 添加 lazy_load_services 配置
(`26184f6 <https://github.com/clef/flask-nameko/commit/26184f6>`__)
`0.1.0 <https://github.com/clef/flask-nameko/compare/89698bba0ece0781f931b006009d3b3468e7883a...v0.1.0>`__ (2016-07-28)
-----------------------------------------------------------------------------------------------------------------------
特性
~~~~~~~~
- **flask\_nameko**: 添加 FlaskPooledClusterRpcProxy
(`285df05 <https://github.com/clef/flask-nameko/commit/285df05>`__)
0.1.0
------------------
* 首次发布于 PyPI。
项目详情
关闭
flask_nameko-1.4.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | fbf5790cada16e1c9a7861423dd4295ccd4beb08b5c4f4451544a11cf5841880 |
|
MD5 | d28dce29e8399d0b9fef116afafc593c |
|
BLAKE2b-256 | a75977af16c07696036f2ab167013f6275960dad4880dd485220b39d940399c1 |