def test_sync_receive_messages(): c = nsq.SyncConn() c.connect("127.0.0.1", 4150) c.send(nsq.identify({'short_id': 'test', 'long_id': 'test.example'})) c.send(nsq.subscribe('test', 'ch')) mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == 'OK' resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == 'OK' for i in range(10): c.send(nsq.ready(1)) body = '{"data": {"test_key": %d}}' % i ts = int(time.time() * 1000 * 1000) mock_response_write_message(c, ts, 0, i, body) resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_MESSAGE msg = nsq.decode_message(unpacked[1]) assert msg.timestamp == ts assert msg.id == "%016d" % i assert msg.attempts == 0 assert msg.body == body
def test_sync_receive_messages(): c = nsq.SyncConn() c.connect("127.0.0.1", 4150) c.send(nsq.identify({'short_id': 'test', 'long_id': 'test.example'})) c.send(nsq.subscribe('test', 'ch')) mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == six.b('OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == six.b('OK') for i in range(10): c.send(nsq.ready(1)) body = '{"data": {"test_key": %d}}' % i body = body.encode('utf-8') ts = int(time.time() * 1000 * 1000) mock_response_write_message(c, ts, 0, i, body) resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_MESSAGE msg = nsq.decode_message(unpacked[1]) assert msg.timestamp == ts assert msg.id == ("%016d" % i).encode('utf-8') assert msg.attempts == 0 assert msg.body == body
def test_sync_authenticate_subscribe(): c = nsq.SyncConn() c.connect("127.0.0.1", 4150) c.send(nsq.identify({'short_id': 'test', 'long_id': 'test.example'})) c.send(nsq.subscribe('test', 'ch')) mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == six.b('OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == six.b('OK')
def test_sync_authenticate_subscribe(): c = nsq.SyncConn() c.connect("127.0.0.1", 4150) c.send(nsq.identify({'short_id': 'test', 'long_id': 'test.example'})) c.send(nsq.subscribe('test', 'ch')) mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') mock_response_write(c, nsq.FRAME_TYPE_RESPONSE, 'OK') resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == 'OK' resp = c.read_response() unpacked = nsq.unpack_response(resp) assert unpacked[0] == nsq.FRAME_TYPE_RESPONSE assert unpacked[1] == 'OK'
def _on_ready(*args, **kwargs): c.on('response', self.stop) c.send(nsq.subscribe(topic, 'ch'))
def _on_ready(*args, **kwargs): c.on('message', _on_message) c.send(nsq.subscribe(topic, 'ch')) c.send_rdy(5)
def connect_callback(c): print "connected" c.send(nsq.subscribe('test', 'ch', 'a', 'b')) c.send(nsq.ready(1))
while True: if len(self.buffer) >= size: break packet = self.s.recv(4096) if not packet: raise Exception("failed to read %d" % size) self.buffer += packet data = self.buffer[:size] self.buffer = self.buffer[size:] return data def read_response(self): size = struct.unpack('>l', self._readn(4))[0] return self._readn(size) def send(self, data): self.s.send(data) if __name__ == '__main__': c = SyncConn() c.connect("127.0.0.1", 4150) c.send(nsq.subscribe('test', 'ch', 'a', 'b')) for i in xrange(10): c.send(nsq.ready(1)) resp = c.read_response() unpacked = nsq.unpack_response(resp) msg = nsq.decode_message(unpacked[1]) print msg.id, msg.body c.send(nsq.finish(msg.id))