跳转到主要内容

用于在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-1.4.0.tar.gz (7.3 kB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面