- Shipped
- 4 settembre 2026 alle ore 20:39 UTC
- Author
- Kamo
- Commit
- 7ea8f7f
Il prossimo gestisce SIGTERM con un processo nudo.exit(143), così ogni dispiegamento sequestrato qualsiasi questo pod aveva in volo — un post del modulo, un'azione del server, un carico di pagamento RSC in streaming, un caricamento. Invisibile quando un richiesta è durata millisecondi; non invisibile su un cluster che si distribuisce su ogni spinta. script/standalone-entry.cjs avvolge il server standalone: su SIGTERM smette di accettare, drop idle manten-alives in una volta così un baccello con nulla in volo esce ancora in circa un secondo, e lascia correre richieste finire sotto un tappo che si siede sotto terminazioneGracePeriodSeconds. Portato da kamo-internal, che lo ha condotto in produzione per mesi. Questa distribuzione non aveva sonda di prontezza, quindi un baccello ha contato come Ready l'istante il suo contenitore il processo è iniziato. Con maxUndisponibile 0 Kubernetes legge che come "il nuovo pod sta servendo" e ritira il vecchio — mentre Next sta ancora inizializzando e non ha limitato il suo porto. Richieste atterrate su un porto nulla stava ascoltando, che è dove gli intermittenti 502 su schiera provenivano. /api/health risponde solo per questo baccello e deliberatamente non tocca backend: una sonda di prontezza decide se questo baccello lascia il Servizio, e il cablaggio a un backend trasforma un blip backend in un riavviare ogni capsula qui. Già a due repliche; questo è ciò che rende il secondo realmente coprire il primo durante un il rollout piuttosto che entrambi essere sostituiti ciechi.