[EPIC-AFF-002] Exponential Decay Window Scheduler

Разработка математического фонового демона деградации неактуальных предпочтений

Author

Affinity Domain Lead / Mathematical Modeler

Published

July 13, 2026

NoteКраткая карточка эпика
  • Эпик: (EPIC-AFF-002)
  • Компоненты: affinity-prediction-core (Cron Decay Engine), Redis Matrix Cache
  • Статус: Готово к реализации
  • Направление связи: Внутренний планировщик \(\rightarrow\) Batch Update Redis / Postgres

Бизнес-контекст и цель (Business Context)

Если группа пользователей когда-то часто покупала продукт, но перестала это делать, система не должна рекомендовать его вечно. Ровно в 00:00 специализированный Cron-демон запускает функцию экспоненциального затухания. Чтобы избежать просадки дискового IOPS основной базы данных, расчеты проводятся инкрементально в Redis с последующим пакетным (Batch) сбросом в Postgres.

Список атомарных задач:

  • [Backend] Демонизированный Cron-планировщик [Метод 1]: Конфигурация Celery Beat / Cron задачи для гарантированного триггера функции ровно в 00:00 по системному времени (decay_scheduler.py).
  • [Backend] Математический движок деградации весов [Метод 2]: Реализация алгоритма Exponential Decay Window для применения понижающего коэффициента к неактивным позициям матриц (exponential_decay_engine.py).
  • [DevOps/Infra] Оптимизация пакетной записи [Метод 3]: Настройка скрипта безопасного фонового сброса измененных в кэше Redis весов в СУБД Postgres без блокировки таблиц чтения (affinity_batch_pipeline.conf).