KamoCRM

Сложите лид-регистраторы каждые 30 с и перечислите их по ночам; триггер работы нуждается в секрете кластера

FeatureDaemonService
Порезанный
23 сентября 2026 г. в 01:28 UTC
Автор
Kamo
Обещать
84746ae

Ведущие бухгалтерские книги (securityservice create lead ledgers.sql, применяется 2026-09-22) заменяют COUNT(*) на 796k-lead pool и over lead credits с сохраненными суммами плюс журнал только с приложением Триггеры пишут. Этот сервис держит их сложенными и честными: - LeadLedgerFoldJob (каждые 30 с): одно утверждение на партию удаляет строки журналов и добавляет их в Таким образом, читатель видит фигуру до или после, а не наполовину. Читатели добавляют журнал в общее, поэтому пропущенный клещ стоит прочитать время, а не правильность. Максимально 40 партий по 5000 на клеща. LeadLedgerReconcileJob (03:40 в ночное время): пересчитывает пул каждой организации и доступные кредиты каждого члена Из строк и сравнивает их с полным + журналом в ОДНО высказывании (один снимок). Различия бывают Воспринимаемые как дельты «Reconcile», никогда не написанные в общей сложности, поэтому пересчет не может вызвать триггеры. Складка. Он также называет любой журнал триггер, который отсутствует или отключен. В здоровой системе он находит В любом случае, все исправления будут записаны в WARN. Оба являются @DisallowConcurrentExecution и перепроверить заявление YugabyteDB прерывается с 40001 (каждый атомный, Таким образом, повторный подсчет не может быть двойным. SQL был переигран против YugabyteDB перед отправкой. таблицы: триггеры, считывания, складывания и пересчета, 60 чеков. JobTriggerController: POST/api/daemon/trigger/{job} и GET/status ответили кому угодно. SecurityConfig Разрешает все, и маршрут демона IngressRoute помещает эту услугу в общедоступную точку входа. (Хозяин daemon.internal.kamocrm.com; исследовал 200 анонимно), так что любая работа - теперь включая пересчет - Можно было бы начать с Интернета, как много перекрывающихся копий, как кварцевый пул. Теперь оба требовать X-Internal-Auth = mlos.internal-auth-secret (постоянное время) и отказывать всем, когда эта тайна Он не установлен. Ничто в платформе не называет эту конечную точку; оператор все еще может, изнутри кластера. Тесты: LeadLedgerMaintenanceTest (фолд-петля и кэп, отчетность о пересчете, отсутствующие триггеры, повторная проверка) Правило и формы SQL, которые делают его безопасным рядом с живым трафиком, JobTriggerControllerAuthTest.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены