Skip to content

스크립트 개발 / 커넥터 객체 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 응답을 반환합니다.