Skip to content

v0.3.0 — Инкрементальная синхронизация

Choose a tag to compare

@strannick-ru strannick-ru released this 04 Feb 18:27
· 45 commits to main since this release

Инкрементальная синхронизация

Главная новая функция: после первой полной синхронизации автора скрипт автоматически переходит в инкрементальный режим и загружает только начало индекса до тех пор, пока не встретит уже скачанные посты.

Производительность

  • Автор с 2000+ постами: первый запуск ~30 мин, повторные ~30 сек
  • Сокращение API запросов на 98% при повторных запусках
  • Проверка обновлений для 10 авторов: ~5 мин вместо часов

Пример вывода

[sponsr] Синхронизация pushkin...
Инкрементальный режим...
Получено 20/2156 постов... (чанк уже скачан)
Получено 40/2156 постов... (чанк уже скачан)
⚡ Остановлено на 40 постах (все новые загружены)
Найдено постов: 40, новых: 0

Технические детали

  • Добавлена таблица sync_state для отслеживания статуса синхронизации
  • Защитный чанк предотвращает пропуск постов при нестрогом порядке API
  • Обратная совместимость: старые базы автоматически обновляются
  • Добавлены 6 тестов для инкрементальной синхронизации (все 20 тестов проходят)

Установка

pip install --upgrade article-backup

Или из исходников:

git clone https://github.com/strannick-ru/article-backup.git
cd article-backup
git checkout v0.3.0
pip install -r requirements.txt

Полный список изменений

См. CHANGELOG.md