UNPKG

@tdengine/websocket

Version:

The websocket Node.js connector for TDengine. TDengine versions 3.3.2.0 and above are recommended to use this connector.

74 lines (73 loc) 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const config_1 = require("../src/common/config"); const constant_1 = require("../src/tmq/constant"); const src_1 = require("../src"); const stable = 'meters'; const db = 'power'; const topics = ['topic_ws_map']; let dropTopic = `DROP TOPIC IF EXISTS ${topics[0]};`; let configMap = new Map([ [constant_1.TMQConstants.GROUP_ID, "gId_11"], [constant_1.TMQConstants.CONNECT_USER, "root"], [constant_1.TMQConstants.CONNECT_PASS, "taosdata"], [constant_1.TMQConstants.AUTO_OFFSET_RESET, "earliest"], [constant_1.TMQConstants.CLIENT_ID, 'test_tmq_client11'], [constant_1.TMQConstants.WS_URL, 'ws://localhost:6041'], [constant_1.TMQConstants.ENABLE_AUTO_COMMIT, 'false'], [constant_1.TMQConstants.AUTO_COMMIT_INTERVAL_MS, '1000'] ]); let dsn = 'ws://root:taosdata@localhost:6041'; async function Prepare() { let conf = new config_1.WSConfig(dsn); const createDB = `create database if not exists ${db} KEEP 3650 DURATION 10 BUFFER 16 WAL_LEVEL 1;`; const createStable = `CREATE STABLE if not exists ${db}.${stable} (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupId int);`; let createTopic = `create topic if not exists ${topics[0]} as select * from ${db}.${stable}`; const useDB = `use ${db}`; let ws = await (0, src_1.sqlConnect)(conf); await ws.exec(createDB); await ws.exec(useDB); await ws.exec(createStable); await ws.exec(createTopic); for (let i = 0; i < 1000; i++) { await ws.exec(`INSERT INTO d1001 USING ${stable} (location, groupId) TAGS ("California.SanFrancisco", 3) VALUES (NOW + ${i}a, ${10 + i}, ${200 + i}, ${0.32 + i})`); } await ws.close(); } (async () => { let consumer = null; try { (0, src_1.setLogLevel)("debug"); await Prepare(); consumer = await (0, src_1.tmqConnect)(configMap); await consumer.subscribe(topics); for (let i = 0; i < 5; i++) { let res = await consumer.poll(100); for (let [key, value] of res) { console.log(key, value.getMeta()); let data = value.getData(); if (data) { console.log(data.length); } } // await consumer.commit(); } // let assignment = await consumer.assignment() // console.log(assignment) // await consumer.seekToBeginning(assignment) // assignment = await consumer.assignment() // for(let i in assignment) { // console.log("seek after:", assignment[i]) // } await consumer.unsubscribe(); } catch (e) { console.error(e); } finally { if (consumer) { await consumer.close(); } (0, src_1.destroy)(); } })();