[backend][B] Шедулер на демо-часах: напоминания о дозах, missed через 2 ч, чек-ины, шкалы по расписанию, молчание #13
Notifications
Due Date
No due date set.
Depends on
#5 [core] Движок правил алертов и действий (config/rules.yaml) + демо-часы
MedITron/PTSRaiAgent
#6 [backend] Модель данных: identity / clinical / audit, репозитории, create_all
MedITron/PTSRaiAgent
Reference: MedITron/PTSRaiAgent#13
Reference in New Issue
Block a user
Описание
SPEC §8 + ADR-005.
app/scheduler/jobs.py: start()/stop()(уже вызываются из main) +run_until(now)— прогон всех событий до текущего (виртуального) времени по порядку, идемпотентно.Желаемый результат
Генерация pending-доз по
prescriptions.schedule, событиеmed_reminderв движок,missedчерез 2 ч без ответа, ежедневныйdaily_checkin,scale_dueпо расписанию модулей (config/modules.yaml), молчание > 3 дней →after_data_change.advance(1 day)в API вызываетrun_until. Тесты на виртуальных часах.Зона и владение файлами
Lane B (backend) — владеет:
app/api/**(кромеschemas.py),app/services/**,app/scheduler/**,app/integrations/**(кромеbase.py),app/db/**,scripts/**,data/**,tests/test_api*.py,tests/test_services*.py,tests/test_scheduler*.py,tests/test_seed*.py,tests/test_integrations*.py.Замороженные контракты (менять только отдельным мелким PR с пингом всех):
app/core/types.py,app/dialog/contracts.py,app/api/schemas.py,app/integrations/base.py,app/services/contracts.py,app/main.py,app/config.py,config/modules.yaml,config/rules.yaml,config/scales/*,pyproject.toml/uv.lock,docker-compose.yml,Makefile.Лог выполнения
2026-10-04
app/scheduler/demo.py: run_until(now) — дозы + med_reminder, missed через 2 ч → мониторинг, daily_checkin, scale_due по config/modules.yaml, ежедневный проход мониторинга (молчание) → reach_out.scheduler_events, устаревшие события не отправляются, без согласия/в кризисе — тишина. Конфигconfig/scheduler.yaml.POST /demo/clock/advanceвызывает прогон. Тестыtests/test_scheduler_demo.py. PR в dev.[backend] Шедулер на демо-часах: напоминания о дозах, missed через 2 ч, чек-ины, молчаниеto [backend][B] Шедулер на демо-часах: напоминания о дозах, missed через 2 ч, чек-ины, шкалы по расписанию, молчание