feat: filter site bodies before media upload
This commit is contained in:
+12
-18
@@ -61,7 +61,7 @@
|
||||
│ ├── templates/ # HTML-шаблоны
|
||||
│ └── workers/
|
||||
│ ├── parser.py # VK-парсер
|
||||
│ ├── vk_storage_uploader.py# Telegram media storage uploader
|
||||
│ ├── media_uploader.py# Telegram media storage uploader
|
||||
│ ├── ai_qualifier.py # AI-квалификатор
|
||||
│ └── ai_writer.py # AI-райтер
|
||||
├── original_project/ # старый проект как справочник
|
||||
@@ -338,7 +338,7 @@ AI-райтер:
|
||||
|
||||
Сейчас основной тип:
|
||||
|
||||
- `vk.storage.copy`
|
||||
- `media.storage.copy`
|
||||
|
||||
Название историческое: сначала планировался VK storage, потом медиа-сторедж вернулся в Telegram. Тип задачи пока не переименован.
|
||||
|
||||
@@ -357,7 +357,7 @@ AI-райтер:
|
||||
Имена воркеров:
|
||||
|
||||
- `vk-parser`
|
||||
- `vk-storage-uploader`
|
||||
- `media-uploader`
|
||||
- `ai-qualifier`
|
||||
- `ai-writer`
|
||||
- `tg-poster`
|
||||
@@ -556,7 +556,7 @@ Retention: записи старше 30 дней удаляются при ст
|
||||
6. При включенном `parser_dedupe_content_hash` также убирает дубли по `content_hash`.
|
||||
7. Применяет политику мусорных постов.
|
||||
8. Сохраняет raw post и media.
|
||||
9. Создаёт job `vk.storage.copy`.
|
||||
9. Создаёт job `media.storage.copy`.
|
||||
|
||||
### 7.2. Политика мусорных постов
|
||||
|
||||
@@ -615,13 +615,13 @@ Retention: записи старше 30 дней удаляются при ст
|
||||
|
||||
## 8. Media storage uploader
|
||||
|
||||
Файл: `src/vk_parser_app/workers/vk_storage_uploader.py`.
|
||||
Файл: `src/vk_parser_app/workers/media_uploader.py`.
|
||||
|
||||
Название файла историческое: сейчас фактическое хранилище медиа - Telegram, а не VK.
|
||||
|
||||
### 8.1. Что делает
|
||||
|
||||
1. Забирает job типа `vk.storage.copy`.
|
||||
1. Забирает job типа `media.storage.copy`.
|
||||
2. Загружает `raw_post` и media.
|
||||
3. Скачивает изображения/видео.
|
||||
4. Отправляет в Telegram storage channel.
|
||||
@@ -1247,7 +1247,7 @@ uvicorn vk_parser_app.admin:app --host 0.0.0.0 --port 8080
|
||||
```powershell
|
||||
$env:PYTHONPATH="src"
|
||||
python -m vk_parser_app.workers.parser
|
||||
python -m vk_parser_app.workers.vk_storage_uploader
|
||||
python -m vk_parser_app.workers.media_uploader
|
||||
python -m vk_parser_app.workers.ai_qualifier
|
||||
python -m vk_parser_app.workers.ai_writer
|
||||
python -m vk_parser_app.workers.tg_poster
|
||||
@@ -1376,16 +1376,10 @@ systemctl start ai-writer.service
|
||||
|
||||
Они не влияют на текущую очередь, но могут путать в админке. Их стоит аккуратно пометить как failed/cancelled или скрывать служебные тесты.
|
||||
|
||||
### 20.2. Название `vk_storage_uploader.py`
|
||||
### 20.2. Media uploader
|
||||
|
||||
Файл исторически называется VK storage uploader, но фактически загружает в Telegram. Можно позже переименовать:
|
||||
|
||||
```text
|
||||
vk_storage_uploader.py -> tg_storage_uploader.py
|
||||
JOB_TYPE_VK_STORAGE_COPY -> tg.storage.copy
|
||||
```
|
||||
|
||||
Делать только миграцией и аккуратно, чтобы не потерять jobs.
|
||||
Uploader переименован в `media_uploader.py`, worker — в `media-uploader`, а jobs — в
|
||||
`media.storage.copy`. Миграция сохраняет уже созданные задания.
|
||||
|
||||
### 20.3. Настройки Telegram uploader
|
||||
|
||||
@@ -1449,7 +1443,7 @@ JOB_TYPE_VK_STORAGE_COPY -> tg.storage.copy
|
||||
sources
|
||||
-> parser
|
||||
-> raw_posts + raw_post_media
|
||||
-> jobs(vk.storage.copy)
|
||||
-> jobs(media.storage.copy)
|
||||
-> Telegram storage uploader
|
||||
-> status=storage_ready
|
||||
-> AI qualifier
|
||||
@@ -1485,7 +1479,7 @@ admin_sessions
|
||||
```text
|
||||
src/vk_parser_app/admin.py
|
||||
src/vk_parser_app/workers/parser.py
|
||||
src/vk_parser_app/workers/vk_storage_uploader.py
|
||||
src/vk_parser_app/workers/media_uploader.py
|
||||
src/vk_parser_app/workers/ai_qualifier.py
|
||||
src/vk_parser_app/workers/ai_writer.py
|
||||
src/vk_parser_app/workers/tg_poster.py
|
||||
|
||||
Reference in New Issue
Block a user