Laisser finition d'un vol au lieu de mourir lors d'un déploiement

Fixkamo-internal
Expédié
8 août 2026 à 03:40 UTC
Auteur
kamo
Commite
913da0a

Une pièce jointe de 2 GiB a atteint 100% et a ensuite échoué avec 'Bad Gateway' parce qu'un déploiement atterri en plus de celui-ci: la nacelle a pris SIGTERM à 03:34:36 et le transfert, sept minutes dans l'intervalle, a été coupée cinq secondes plus tard. Deux causes. Ensuite, SIGTERM with a nue process.exit(143), donc dans les demandes en vol mourir immédiatement, quel que soit le délai de grâce fixé; et le délai de grâce était de 5 s Quoi qu'il en soit. Les deux étaient inoffensifs lorsque les demandes duraient de la milliseconde. Maintenant une seule attache peut occuper une connexion pendant des minutes pendant que ce cluster se déploie sur chaque poussée, donc n'importe quel Une poussée simultanée détruit un téléchargement. SIGTERM draine maintenant: arrêtez d'accepter de nouvelles connexions, chutez les activés de ralenti à la fois la nacelle laisse immédiatement rotation, et laisse finir les demandes de course. Le manipulateur de Next est intercepté plutôt que simplement surestimé, car une sortie() à l'intérieur d'un auditeur quelconque gagne tout de suite. Une nacelle avec rien en vol sort encore en environ une seconde, donc ordinaire Les déploiements sont inchangés; seul une gousse avec un travail réel pour terminer attend, plafonnée à 600 s dans le cadre d'un délai de grâce des années 60 et d'un délai de progression des années 900 correspondant à la temporisation Le flux de travail de déploiement attend déjà.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation