跳轉到

指令碼開發 / 聯結器物件 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 必須 請求方法,如 GET、POST;也可寫為 "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 響應。