свёртка доставки в объекты и сшивка с приёмом
- internal/fold — свёртка по идентификатору доставки, тело из архива: тот же код, каким пойдёт пересборка витрины - приём зовёт свёртку на context.WithoutCancel с собственным дедлайном; исход разбора на код ответа не влияет - слой доставки хранится в delivery.derived_layer и наследуется от ПРЕДШЕСТВУЮЩЕЙ доставки автоматизации: без границы по времени свёртка переставала быть функцией от префикса журнала (1737 объектов против 1742) - task verify:archive — сходимость на живом архиве, 99 доставок из 99
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
-- +goose Up
|
||||
-- Слой, выведенный для доставки. Нужен не отчётности, а самому выводу слоя:
|
||||
-- доставка без плотных метрик наследует последний надёжно выведенный слой той
|
||||
-- же автоматизации, и без хранения этой памяти первая же такая доставка после
|
||||
-- перезапуска сервиса осталась бы без слоя (измерено: 2 доставки из 89).
|
||||
--
|
||||
-- Пустая строка означает «слой не выводился» — такие доставки в наследование
|
||||
-- не участвуют.
|
||||
ALTER TABLE delivery ADD COLUMN derived_layer TEXT NOT NULL DEFAULT '';
|
||||
|
||||
-- Поиск идёт «последний слой этой автоматизации»: сортировка по времени приёма
|
||||
-- внутри автоматизации.
|
||||
CREATE INDEX delivery_automation_layer ON delivery (automation_id, received_at DESC);
|
||||
|
||||
-- +goose Down
|
||||
DROP INDEX delivery_automation_layer;
|
||||
ALTER TABLE delivery DROP COLUMN derived_layer;
|
||||
Reference in New Issue
Block a user