import { createAdapter } from "@socket.io/redis-adapter";
import { createAdapter as createClusterAdapter } from "@socket.io/cluster-adapter";
import { setupWorker } from "@socket.io/sticky";
const app = express();
export const server = http.createServer(app);
export const io = new Server(server, {
transports: ['websocket', 'polling'],
adapter: createAdapter(redisClient, redisSubClient)
});
io.adapter(createClusterAdapter()); // src/server.ts:76:4
setupWorker(io);
< /code>
Пока я пытаюсь запустить свой код, он показывает эту ошибку < /p>
TypeError: Cannot read properties of undefined (reading 'id')
at new ClusterAdapter (/home/michioxd/backend/node_modules/.pnpm/@[email protected][email protected]/node_modules/@socket.io/cluster-adapter/dist/index.js:61:34)
at new (/home/michioxd/backend/node_modules/.pnpm/@[email protected][email protected]/node_modules/@socket.io/cluster-adapter/dist/index.js:40:16)
at Namespace._initAdapter (/home/michioxd/backend/node_modules/.pnpm/[email protected]/node_modules/socket.io/dist/namespace.js:99:24)
at Server.adapter (/home/michioxd/backend/node_modules/.pnpm/[email protected]/node_modules/socket.io/dist/index.js:188:17)
at file:///home/michioxd/src/server.ts:76:4
at ModuleJob.run (node:internal/modules/esm/module_job:274:25)
at onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26)
< /code>
Я запускаю сервер, используя PM2 со следующей командой: < /p>
pm2 start index.js -i max
< /code>
Почему возникает эта ошибка? Я использую CreateAdapter ()
неправильно? Как мне правильно настроить Socket.io с поддержкой кластера и PM2?
Я пытаюсь настроить socket.io с поддержкой кластера с использованием PM2, следуя этим документам.[code]import { createAdapter } from "@socket.io/redis-adapter"; import { createAdapter as createClusterAdapter } from "@socket.io/cluster-adapter"; import { setupWorker } from "@socket.io/sticky";
io.adapter(createClusterAdapter()); // src/server.ts:76:4 setupWorker(io); < /code> Пока я пытаюсь запустить свой код, он показывает эту ошибку < /p> TypeError: Cannot read properties of undefined (reading 'id') at new ClusterAdapter (/home/michioxd/backend/node_modules/.pnpm/@[email protected][email protected]/node_modules/@socket.io/cluster-adapter/dist/index.js:61:34) at new (/home/michioxd/backend/node_modules/.pnpm/@[email protected][email protected]/node_modules/@socket.io/cluster-adapter/dist/index.js:40:16) at Namespace._initAdapter (/home/michioxd/backend/node_modules/.pnpm/[email protected]/node_modules/socket.io/dist/namespace.js:99:24) at Server.adapter (/home/michioxd/backend/node_modules/.pnpm/[email protected]/node_modules/socket.io/dist/index.js:188:17) at file:///home/michioxd/src/server.ts:76:4 at ModuleJob.run (node:internal/modules/esm/module_job:274:25) at onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:644:26) < /code> Я запускаю сервер, используя PM2 со следующей командой: < /p> pm2 start index.js -i max < /code> Почему возникает эта ошибка? Я использую CreateAdapter () [/code] неправильно? Как мне правильно настроить Socket.io с поддержкой кластера и PM2?
Недавно я обновил свой Angular до 19, но по какой -то причине мне приходилось также мигрировать из строителя браузеров в Builder, после того как я исправил все круговые зависимости в своем приложении, теперь я получаю эту странную ошибку
ERROR...