Расписание синхронизации
Расписание синхронизации позволяет автоматически обновлять базу знаний при изменении файлов в источнике. Вместо ручного запуска индексации система периодически проверяет хранилище и обновляет изменённые документы.
Для настройки способа обработки документов см. раздел Пайплайны обработки.
Создание расписания
Расписание создаётся при запуске индексации на вкладке Источники:
- Выберите файлы/папки для индексации
- В правой панели Настройки индексации установите Расписание отличное от "Вручную"
- Нажмите Начать индексацию
Система выполнит первую индексацию и создаст расписание для последующих синхронизаций.
Доступные интервалы
| Интервал | Cron-выражение | Описание |
|---|---|---|
| Вручную | -- | Без автоматической синхронизации |
| Каждые 30 секунд | */30 * * * * * | Для тестирования |
| Каждый час | 0 * * * * | Ежечасная синхронизация |
| Ежедневно | 0 0 * * * | Синхронизация в полночь |
| Еженедельно | 0 0 * * 0 | Синхронизация по воскресеньям в полночь |
Интервал "Каждые 30 секунд" предназначен исключительно для тестирования. Не используйте его в продуктивных сценариях -- это создаст чрезмерную нагрузку на систему и хранилище.
Формат cron-выражений
Платформа поддерживает стандартный и расширенный формат cron:
5-полевой формат (стандартный)
┌──────────── минута (0 - 59)
│ ┌────────── час (0 - 23)
│ │ ┌──────── день месяца (1 - 31)
│ │ │ ┌────── месяц (1 - 12)
│ │ │ │ ┌──── день недели (0 - 6, 0 = воскресенье)
│ │ │ │ │
* * * * *
6-полевой формат (с секундами)
┌────────────── секунда (0 - 59)
│ ┌──────────── минута (0 - 59)
│ │ ┌────────── час (0 - 23)
│ │ │ ┌──────── день месяца (1 - 31)
│ │ │ │ ┌────── месяц (1 - 12)
│ │ │ │ │ ┌──── день недели (0 - 6)
│ │ │ │ │ │
* * * * * *
Примеры
| Выражение | Описание |
|---|---|
0 * * * * | Каждый час в 0 минут |
0 0 * * * | Каждый день в полночь |
0 9 * * 1-5 | Каждый будний день в 9:00 |
0 */6 * * * | Каждые 6 часов |
0 0 1 * * | Первый день каждого месяца |
*/30 * * * * * | Каждые 30 секунд (6-полевой формат) |
Вкладка "Расписания"
Вкладка Расписания в разделе "База знаний" отображает все источники с настроенным автоматическим расписанием.
Колонки таблицы
| Колонка | Описание |
|---|---|
| Путь | Бакет и ключ S3 (путь к файлам) |
| Расписание | Человеко-читаемое описание и cron-выражение |
| Статус | Текущий статус источника |
| Последний запуск | Дата и время последней синхронизации |
| Следующий запуск | Расчётная дата следующей синхронизации |
| Создано | Дата создания расписания |
Статусы
| Статус | Описание |
|---|---|
| В очереди | Ожидание следующего запуска |
| Выполняется | Синхронизация в процессе |
| Завершено | Последняя синхронизация завершена успешно |
| Ошибка | Последняя синхронизация завершилась с ошибкой |
Действия
Через панель действий доступны:
- Обновить -- обновить список расписаний
- Запустить -- немедленно запустить синхронизацию для выбранных источников (не дожидаясь расписания)
- История -- открыть журнал выполнений для выбранного расписания
- Отключить -- деактивировать расписание (источник перестанет автоматически синхронизироваться)
Как работает синхронизация
Процесс
- По cron-расписанию система определяет, какие источники нужно синхронизировать
- Для каждого источника:
- Скачивается список файлов из хранилища
- Сравниваются хеши файлов с ранее проиндексированными
- Новые файлы -- индексируются
- Изменённые файлы -- переиндексируются (обновление чанков и эмбеддингов)
- Удалённые файлы -- помечаются как удалённые
- Неизменённые файлы -- пропускаются
- Результаты записываются в журнал выполнений
Результаты синхронизации
Каждое выполнение синхронизации фиксирует:
| Метрика | Описание |
|---|---|
| files_created | Количество новых проиндексированных файлов |
| files_modified | Количество обновлённых файлов |
| files_deleted | Количество удалённых файлов |
| files_unchanged | Количество неизменённых файлов (пропущены) |
Журнал выполнений
Для просмотра истории синхронизаций:
- Выберите расписание в таблице
- Нажмите История в панели действий
- Откроется панель с историей выполнений
Каждая запись содержит:
- Статус: Running, Completed, Failed
- Время начала и окончания
- Статистика: созданные, изменённые, удалённые, неизменённые файлы
- Сообщение об ошибке (при статусе Failed)
Ручной запуск синхронизации
Для немедленного запуска синхронизации (не дожидаясь расписания):
- Выберите один или несколько источников в таблице расписаний
- Нажмите Запустить (N) в панели действий
- Синхронизация запустится в фоновом режиме
Используйте ручной запуск после загрузки новых документов в хранилище, чтобы не ждать следующего запланированного запуска.
Отключение расписания
Для отключения автоматической синхронизации:
- Выберите расписания в таблице
- Нажмите Отключить (N) в панели действий
- Подтвердите действие
После отключения cron-выражение удаляется из источника, и автоматическая синхронизация прекращается. Ранее проиндексированные документы остаются в базе знаний.
Отключение расписания не удаляет проиндексированные документы. Для удаления документов используйте вкладку "Документы в базе знаний".
Рекомендации
- Для часто обновляемых данных (цены, наличие) используйте ежечасную синхронизацию
- Для документации и регламентов достаточно ежедневной синхронизации
- Для архивных материалов используйте еженедельную синхронизацию или ручной запуск
- Мониторьте историю выполнений для выявления ошибок подключения или проблем с файлами