Закончил показ. Теперь полная переделка

This commit is contained in:
2025-11-12 12:46:08 +03:00
parent 902eb23bd8
commit 73ce06deec
15 changed files with 1585 additions and 2693 deletions

View File

@@ -1,18 +1,3 @@
# Руководство по установке асинхронной системы Lyngsat
## Вариант 1: Полная установка с Celery (рекомендуется)
### Шаг 1: Установка зависимостей
```bash
pip install -r dbapp/requirements.txt
```
Это установит:
- `celery>=5.4.0`
- `django-celery-results>=2.5.1`
- И все остальные зависимости
### Шаг 2: Применение миграций
```bash
@@ -58,57 +43,6 @@ celery -A dbapp worker --loglevel=info
---
## Вариант 2: Базовая установка без Celery
Если вы не хотите использовать асинхронную обработку, система будет работать в синхронном режиме.
### Шаг 1: Установка базовых зависимостей
```bash
# Установите все зависимости кроме Celery
pip install -r dbapp/requirements.txt --ignore-installed celery django-celery-results
```
Или вручную удалите из `requirements.txt`:
- `celery>=5.4.0`
- `django-celery-results>=2.5.1`
Затем:
```bash
pip install -r dbapp/requirements.txt
```
### Шаг 2: Применение миграций
```bash
cd dbapp
python manage.py migrate
```
### Шаг 3: Запуск FlareSolver
```bash
docker-compose up -d flaresolverr
```
### Шаг 4: Запуск Django
```bash
cd dbapp
python manage.py runserver
```
### Ограничения базовой установки
⚠️ **Внимание**: В синхронном режиме:
- Веб-интерфейс будет заблокирован во время обработки
- Нет отслеживания прогресса в реальном времени
- Нет детального логирования
- Обработка может занять много времени
---
## Проверка установки
### Проверка Django
```bash
@@ -136,25 +70,6 @@ curl http://localhost:8191/v1
---
## Решение проблем при установке
### Проблема: ModuleNotFoundError: No module named 'celery'
**Решение 1**: Установите Celery
```bash
pip install celery django-celery-results
```
**Решение 2**: Используйте базовую установку (см. Вариант 2)
### Проблема: Redis connection refused
**Решение**: Запустите Redis
```bash
docker-compose up -d redis
# или
sudo systemctl start redis
```
### Проблема: FlareSolver не отвечает
@@ -165,72 +80,6 @@ docker-compose up -d flaresolverr
docker run -d -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest
```
### Проблема: Миграции не применяются
**Решение**: Проверьте подключение к базе данных
```bash
# Проверьте .env файл
cat dbapp/.env
# Проверьте PostgreSQL
docker-compose up -d db
docker-compose logs db
```
---
## Переменные окружения
Создайте файл `dbapp/.env` (если еще не создан):
```bash
# Database
DB_ENGINE=django.contrib.gis.db.backends.postgis
DB_NAME=geodb
DB_USER=geralt
DB_PASSWORD=123456
DB_HOST=localhost
DB_PORT=5432
# Django
SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
# Celery (опционально)
CELERY_BROKER_URL=redis://localhost:6379/0
# FlareSolver
FLARESOLVERR_URL=http://localhost:8191/v1
```
---
## Следующие шаги
После успешной установки:
1. **Прочитайте документацию**:
- `QUICKSTART_ASYNC.md` - быстрый старт
- `ASYNC_LYNGSAT_GUIDE.md` - полное руководство
- `ASYNC_CHANGES_SUMMARY.md` - технические детали
2. **Настройте production окружение** (если необходимо):
- Настройте Systemd/Supervisor для Celery
- Настройте Nginx/Apache
- Настройте SSL
- Настройте мониторинг
3. **Добавьте данные**:
- Добавьте спутники через админ-панель
- Запустите заполнение данных Lyngsat
4. **Настройте мониторинг**:
- Установите Flower для мониторинга Celery
- Настройте логирование
- Настройте алерты
---
## Дополнительные инструменты
@@ -263,39 +112,6 @@ docker run -d -p 5050:80 --name pgadmin \
---
## Обновление системы
### Обновление зависимостей
```bash
pip install --upgrade -r dbapp/requirements.txt
```
### Применение новых миграций
```bash
cd dbapp
python manage.py migrate
```
### Перезапуск сервисов
```bash
# Перезапуск Docker контейнеров
docker-compose restart
# Перезапуск Celery Worker
# Найдите PID процесса
ps aux | grep celery
# Остановите процесс
kill <PID>
# Запустите снова
celery -A dbapp worker --loglevel=info
```
---
## Удаление системы
### Остановка сервисов
@@ -321,27 +137,31 @@ find dbapp -path "*/migrations/*.py" -not -name "__init__.py" -delete
find dbapp -path "*/migrations/*.pyc" -delete
```
---
# Systemd service для запуска с хоста
[Unit]
Description=Django Application
After=network.target
[Service]
Type=notify
User=www-data
Group=www-data
WorkingDirectory=/path/to/your/app
Environment=PATH=/path/to/venv/bin
Environment=DATABASE_URL=postgresql://user:pass@localhost/geodb
ExecStart=/path/to/venv/bin/python manage.py runserver 0.0.0.0:8000
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=300
Restart=on-failure
[Install]
WantedBy=multi-user.target
## Поддержка
Если у вас возникли проблемы:
1. Проверьте логи:
- Django: консоль где запущен runserver
- Celery: `dbapp/logs/celery_worker.log`
- Docker: `docker-compose logs`
2. Проверьте документацию:
- `ASYNC_LYNGSAT_GUIDE.md`
- `QUICKSTART_ASYNC.md`
- `ASYNC_CHANGES_SUMMARY.md`
3. Проверьте статус сервисов:
```bash
docker-compose ps
ps aux | grep celery
redis-cli ping
```
4. Создайте issue в репозитории с описанием проблемы и логами