EE DataCollector API сочетает асинхронный контур расчётов портрета/прогноза и новый синхронный hourly-endpoint для geocentric-прогноза Луны. Архитектура по-прежнему разделяет SubjectContext и TemporalContext, а hourly-метод работает поверх отдельного серверного кэша эфемерид.

# 1. Введение

2.3.0

2026-03-18

# Ключевые изменения

Сохранён асинхронный контур `create_task -> worker -> get_result` для тяжёлых составных расчётов.

Добавлен новый синхронный `GET /get_hourly_forecast` для почасового прогноза Луны и планет на локальные сутки.

Hourly-endpoint возвращает geocentric-позиции Луны/планет, текущие аспекты Луны, окно `void of course`, лунный день и флаг «сатанинского» дня.

Для hourly-endpoint добавлен двухуровневый кэш: batch-cache эфемерид NASA и result-cache по `date + lat + lng + timezone`.

Канонический слой Synthesis++ и export_result продолжают работать без изменения контракта.

# Сводная информация

https://digihash.ru/datacollector/api.php

2.3.0

HTTPS / JSON

# Возможности системы

  • Асинхронная очередь задач для портрета, периодического прогноза и Synthesis++.
  • Синхронный hourly-endpoint для UI и сервисов, которым нужен готовый почасовой результат сразу.
  • Разделение SubjectContext/TemporalContext во всех вычислениях.
  • Серверное кэширование портретов, дневных прогнозов и нового почасового geocentric-прогноза.
  • Режим критического отказа для внешних источников: при проблемах NASA JPL Horizons API не отдаёт фальшивый частичный успех.

# Архитектура решения

Этапы жизненного цикла

1

Клиент POST create_task

Запускает тяжёлую составную задачу для портрета/прогноза/Synthesis++.

2

Worker Асинхронный расчёт

Собирает итоговый payload и сохраняет его для последующего `get_result`.

3

Клиент GET get_result

Опрос статуса или получение итогового async-результата.

4

Клиент GET get_hourly_forecast

Синхронный запрос почасового прогноза на local-день с отдельным result-cache.

Политика кеширования

# Модель хранения и кэширования

Кэш разделён по доменам данных. В публичных ответах файловые пути никогда не раскрываются.

Портретные данные
Постоянно

Immutable SubjectContext и производные portrait-расчёты.

Периодические forecast-данные
По temporal-контексту

Классический дневной/недельный/месячный forecast.

Hourly geocentric forecast
По `date + lat + lng + timezone`

Отдельный JSON-cache для нового почасового метода.

# Технические требования

List

  • Формат обмена: JSON
  • Кодировка: UTF-8
  • Дата: YYYY-MM-DD
  • Время: HH:MM или HH:MM:SS
  • Все запросы выполняются по HTTPS