KamoCRM

Piegare i registri di piombo ogni 30 s e raccontarli di notte; il trigger di lavoro ha bisogno del segreto del cluster

FeatureDaemonService
Spegnimento
23 settembre 2026 alle ore 01:28 UTC
Autore
Kamo
Impegno
84746ae

I registri principali (securityservice create lead ledgers.sql, applicato 2026-09-22) sostituiscono COUNT(*) su un piscina 796k-lead e oltre lead credits con totali mantenuti più un append-solo rivista che fila I trigger scrivono. Questo servizio li mantiene piegati e onesti: - LeadLedgerFoldJob (ogni 30 s): una dichiarazione per lotto cancella le righe di giornale e le aggiunge alle totali, quindi un lettore vede la figura prima o dopo, mai metà. I lettori aggiungono già la rivista il totale, quindi una spunta mancata costa tempo di lettura, mai correttezza. Al massimo 40 lotti di 5000 per zecca. - LeadLedgerReconcileJob (03:40 notte): racconta la piscina di ogni org e i crediti disponibili di ogni membro dalle righe e le confronta con il totale + diario in un'affermazione (una snapshot). Le differenze sono MODIFICAto come 'RECONCILE' delta, mai scritto su un totale, quindi il conte non può correre i trigger o una piega. Nomina anche qualsiasi trigger di giornale che manca o disabilita. In un sistema sano trova nulla, quindi ogni correzione è registrata a ATTENZIONE. Entrambi sono @DisallowConcurrentExecution e riprovare una dichiarazione aborti YugabyteDB con 40001 (ciascuno è atomico, così una riprova non può doppio conteggio). L' SQL è stato riprodotto contro YugabyteDB prima di questo naufragato (tempi tabelle: attiva, legge, piega e racconta, 60 controlli). JobTriggerController: POST /api/daemon/trigger/{job} e GET /status ha risposto a chiunque. SicurezzaConfig. consente a tutti, e il daemon-route IngressRoute mette questo servizio sul sito web pubblico (Host daemon.internal.kamocrm.com; probed 200 anonimo), quindi qualsiasi lavoro — ora compreso il conteggio — potrebbe essere iniziato da internet, come molte copie sovrapposte come la piscina di quarzo detiene. Entrambi ora richiedono X-Internal-Auth = mlos.internal-auth-secret (constant-time) e rifiutare tutti quando quel segreto e' fuori luogo. Nulla nella piattaforma chiama questo endpoint; un operatore può ancora, dall'interno del cluster. Test: LeadLedgerMaintenanceTest (fold loop e cap, racconta reportistica, trigger mancanti, la riprovazione regola, e le forme SQL che lo rendono sicuro accanto al traffico live), JobTriggerControllerAuthTest.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo