p3x-redis-ui-server
Version:
🏍️ P3X Redis UI server — Socket.IO backend for the dual Angular + React frontend with AI queries, 54 languages, and auto data decompression
2 lines (1 loc) • 641 B
JavaScript
import r from"ioredis";export default async function t(t,n={}){Array.isArray(t)||(t=[t]);const o=[];let e;for(const n of t){let t;try{t=new r({...n,retryStrategy:()=>!1});return e=(await new Promise((n,o)=>{t.sendCommand(new r.Command("CLUSTER",["NODES"],"utf-8",function(r,t){r?o(r):n(t.toString())}))})).trim().split("\n").reduce((r,t)=>{if(!t)return r;const n=t.split(" "),[o,e,i]=n,[s,a]=e.split("@"),[c,u]=s.split(":"),f={host:c,port:u};return r.push(f),r},[]),e}catch(r){console.error(r),o.push(r)}finally{t.disconnect()}if(e)break}if(e)return e;const i=o.map(r=>r.toString()).join(", ");throw new Error("getClusterNodes errors: "+i)}