Как мне добавлять данные в БД(postgreSQL) получаемые с websocket подключения. Какие инструменты использовать?
Я попробовал использовать socketio
import { Server } from "socket.io";
import { createAdapter } from "@socket.io/postgres-adapter";
import pg from "pg";
const io = new Server();
const pool = new pg.Pool({
user: "postgres",
host: "localhost",
database: "postgres",
password: "changeit",
port: 5432,
});
io.on('connection', socket => {
socket.on('mess', async (mess) => {
try {
pool.query('INSERT INTO coins (namecoin, exchange, bids, asks) VALUES ($1, $2, $3, $4) ON CONFLICT (namecoin, exchange) DO UPDATE SET bids = $3, asks = $4', [mess.symbol, mess.exchange, mess.bids, mess.asks]);
console.log(mess)
} catch (e) {
console.log(e.message)
}
})
})
pool.on("error", (err) => {
console.error("Postgres error", err);
});
io.adapter(createAdapter(pool));
io.listen(3000);
подключаюсь как клиент
import { io } from "socket.io-client"
const gate = io('http://localhost:3000/')
gate.on("connect", ()=>{
console.log('client connect')
})
//подключаюсь к бирже получаю данные и отправляю
gate.emit('mess', coin)
через некоторое время, появляется ошибка
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
подсказали, что это утечка памяти, но я так и не понял как ее найти.