Sådan håndteres en hængelåsfejl i Node.js normalt


Bedste svar

Socket-hængefejl er normalt fejl, når anmodninger, der kommer til din server, er mere end det kan håndtere. Dette kan være årsag til forskellige årsager, som f.eks. At din server ringer til en anden server, kan være en database, der reagerer langsomt, og derfor venter den på svar i lang tid, og i mellemtiden akkumuleres andre anmodninger osv.

  1. Luk forbindelsen, hvis du har åbnet nogen til at oprette forbindelse til databasen, når dit arbejde er udført. Dette er oftest årsagen.
  2. Du kan håndtere dette ved at bruge Async eller Promise og SetTimeOut-koncepter, som får din server til at vente på svar i et givet tidspunkt, og hvis det tager for lang tid, skal du bare vende tilbage med en fejlmeddelelse.
  3. Du kan oprette flere forekomster af din applikation på serveren, og hver forekomst håndterer anmodninger separat.
  4. Også hvis du udvikler et lille værktøj, kan du ændre det til at affyre begrænsede anmodninger efter et bestemt interval.

Svar

Socket-påhængningsfejl smides i to tilfælde. Når du er klient & Når du er server / proxy

Når du som klient sender en anmodning til en ekstern server og ikke modtager noget rettidigt svar. Din stikkontakt er afsluttet, hvilket kastede denne fejl. Du skal fange denne fejl og beslutte, hvordan du skal håndtere den: om du igen prøver anmodningen, sætter den i kø til senere osv.

Når du som server, måske en proxyserver, modtager en anmodning fra en klient, så begynde at handle på det (eller videresende anmodningen til upstream-serveren), og inden du har forberedt svaret, beslutter klienten at annullere / afbryde anmodningen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *