KamoCRM

Aucun travail ne se chevauche, et aucun appel HTTP ne peut accrocher un travailleur pour toujours

FixDaemonService
Expédié
23 septembre 2026 à 01:54 UTC
Auteur
Kamo
Commite
d260fad

Le quartz ici fait cuire 10 fils de travailleurs en mémoire sur une réplique. 17 des 24 emplois n'avaient pas "DisallowConcurrentExecution, donc une course qui a subanné son intervalle a commencé une deuxième copie à côté d'elle - pour les emplois à la minute (rappels, enregistrements, synchronisation VOIP, synchronisation de détail, sondage MeridianLink, remplissage des paysages, les rappels en webinaire...) c'est-à-dire le double traitement. Six clients HTTP étaient «nouveau RestTemplate() sans connexion ou temporisation de lecture (les rafraîchissements des jetons Google et Microsoft, application du Service de sécurité et pipeline clients, la synchronisation globale VOIP et le répartiteur d'enregistrement), donc un accroché en aval tenait son travailleur pour toujours - et avec chevauchement autorisé, a pris un autre travailleur chaque minute jusqu'à ce que chaque emploi dans le daemon ait s'arrêta, silencieusement, jusqu'à ce qu'une gousse redémarre. - Désactiver l'exécution de chaque emploi. - Timeouts sur chaque client: 10 s se connectent partout; lire 30 s pour les points d'extrémité en jetons, 60 s pour le Appels internes de service de sécurité, 10 min pour la synchronisation VOIP et FFmpeg dispatch (le même lien l'autre les déclencheurs de balayage sont déjà utilisés). - DaemonJobSafetyTest brolle les deux règles pour les emplois futurs (témoinage: suppression d'une annotation, ou la restauration d'un Fillet de repos nu, le rend rouge). Suite complète: 69 tests verts.

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation