Class LangfuseCleanerAssistant

java.lang.Object
ru.gentoos.ehouse.assistant.LangfuseCleanerAssistant
All Implemented Interfaces:
Assistant

public final class LangfuseCleanerAssistant extends Object implements Assistant
Периодическая очистка старых трейсов в Langfuse (порт e_lib/assistants/langfuse_cleaner.py).

Читает страницы трейсов (core-поля, по возрастанию timestamp, чтобы старые попадали первыми), собирает id старше period дней и удаляет их одним bulk-DELETE. Так выбраны только «core» поля и используется bulk-удаление — это исключает глубокую OFFSET-пагинацию и ошибки «Database resource limit exceeded» при удалении по одному.

  • Constructor Details

    • LangfuseCleanerAssistant

      public LangfuseCleanerAssistant(String projectSlug, int period, HttpTransport transport)
      Создаёт чистильщик. Базовый URL — из env LANGFUSE_HOST (с дефолтом), ключи — из env LANGFUSE_SECRET_KEY/ LANGFUSE_PUBLIC_KEY.
      Parameters:
      projectSlug - идентификатор проекта Langfuse
      period - период хранения в днях
      transport - HTTP-транспорт
    • LangfuseCleanerAssistant

      public LangfuseCleanerAssistant(String projectSlug, int period, int limit, String baseUrl, HttpTransport transport)
      Создаёт чистильщик с явным базовым URL (для тестов).
      Parameters:
      projectSlug - идентификатор проекта Langfuse
      period - период хранения в днях
      limit - размер страницы
      baseUrl - базовый URL Langfuse
      transport - HTTP-транспорт
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Assistant
      Человекочитаемое имя ассистента.
      Specified by:
      getName in interface Assistant
    • shouldDeleteTrace

      public boolean shouldDeleteTrace(com.fasterxml.jackson.databind.JsonNode trace)
      Проверяет, старше ли трейс периода хранения.
      Parameters:
      trace - узел трейса с полем timestamp
      Returns:
      true, если трейс должен быть удалён
    • deleteOldTraces

      public int deleteOldTraces()
      Удаляет трейсы старше period дней.
      Returns:
      количество удалённых трейсов
    • run

      public boolean run()
      Description copied from interface: Assistant
      Выполняет один цикл обработки.
      Specified by:
      run in interface Assistant
      Returns:
      true, если цикл выполнен успешно; false при пропуске (недоступное состояние, ошибка) — паритет с возвратом True/False у DogWaterAssistant/ DogHeaterAssistant в Python