跳轉至

腳本開發 / 連接器對象 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 響應。