跳转至

脚本开发 / 连接器对象 DFF.CONN / NSQ

NSQ 连接器操作对象主要提供一些操作 NSQ 的方法。

本连接器基于 HTTP 协议访问 NSQ Lookupd,并基于 HTTP 协议发布消息

DFF.CONN(...) 参数如下:

参数 类型 必须 / 默认值 说明
connector_id str 必须 连接器 ID
timeout int/float 10 当前操作对象的默认 HTTP 请求超时时间,秒

.query(...)

向 NSQ Lookupd 发送 HTTP 请求,参数如下:

参数 类型 必须 / 默认值 说明
method str 必须 请求方法,如 GETPOST;也可写为 "GET /nodes"
path str None / 开头的 Lookupd 请求路径;省略时从 method 中拆分
query dict None URL 查询参数
body str/bytes/dict None 请求体
timeout int/float None 本次请求超时时间,省略时使用操作对象的默认值
示例
1
result = nsq.query('GET', '/nodes')

响应为 JSON 或 XML 时返回解析后的对象,否则返回原始字节;HTTP 状态码大于等于 400 时抛出异常。

.publish(...)

发布消息,参数如下:

参数 类型 必须 / 默认值 说明
topic str 必须 主题
message str/bytes/dict/list/tuple 必须 消息内容;容器类型会先序列化为 JSON
timeout int/float None 本次请求超时时间,省略时使用操作对象的默认值
示例
1
result = nsq.publish(topic='events', message={'status': 'ok'})

连接器从 Lookupd 返回的生产节点中随机选择一个节点发布消息,并返回解析后的 HTTP 响应。