168 lines
3.8 KiB
Markdown
168 lines
3.8 KiB
Markdown
### Шаг 2: Применение миграций
|
||
|
||
```bash
|
||
cd dbapp
|
||
python manage.py migrate
|
||
```
|
||
|
||
Это создаст:
|
||
- Таблицу `lyngsatapp_lyngsat` для данных Lyngsat
|
||
- Таблицы `django_celery_results_*` для результатов Celery
|
||
|
||
### Шаг 3: Запуск сервисов
|
||
|
||
```bash
|
||
# Запуск Redis и FlareSolver
|
||
docker-compose up -d redis flaresolverr
|
||
|
||
# Проверка
|
||
redis-cli ping # Должно вернуть PONG
|
||
curl http://localhost:8191/v1 # Должно вернуть JSON
|
||
```
|
||
|
||
### Шаг 4: Запуск приложения
|
||
|
||
**Терминал 1 - Django:**
|
||
```bash
|
||
cd dbapp
|
||
python manage.py runserver
|
||
```
|
||
|
||
**Терминал 2 - Celery Worker:**
|
||
```bash
|
||
cd dbapp
|
||
celery -A dbapp worker --loglevel=info
|
||
```
|
||
|
||
### Шаг 5: Тестирование
|
||
|
||
1. Откройте `http://localhost:8000/actions/`
|
||
2. Нажмите "Заполнить данные Lyngsat"
|
||
3. Выберите спутники и регионы
|
||
4. Наблюдайте за прогрессом!
|
||
|
||
---
|
||
|
||
|
||
### Проверка Django
|
||
```bash
|
||
python dbapp/manage.py check
|
||
# Должно вывести: System check identified no issues (0 silenced).
|
||
```
|
||
|
||
### Проверка Celery (если установлен)
|
||
```bash
|
||
celery -A dbapp inspect ping
|
||
# Должно вывести: pong
|
||
```
|
||
|
||
### Проверка Redis (если установлен)
|
||
```bash
|
||
redis-cli ping
|
||
# Должно вывести: PONG
|
||
```
|
||
|
||
### Проверка FlareSolver
|
||
```bash
|
||
curl http://localhost:8191/v1
|
||
# Должно вернуть JSON с информацией о сервисе
|
||
```
|
||
|
||
---
|
||
|
||
|
||
### Проблема: FlareSolver не отвечает
|
||
|
||
**Решение**: Запустите FlareSolver
|
||
```bash
|
||
docker-compose up -d flaresolverr
|
||
# или
|
||
docker run -d -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest
|
||
```
|
||
|
||
|
||
## Дополнительные инструменты
|
||
|
||
### Flower - мониторинг Celery
|
||
|
||
```bash
|
||
pip install flower
|
||
celery -A dbapp flower
|
||
# Откройте http://localhost:5555
|
||
```
|
||
|
||
### Redis Commander - GUI для Redis
|
||
|
||
```bash
|
||
docker run -d -p 8081:8081 --name redis-commander \
|
||
--env REDIS_HOSTS=local:localhost:6379 \
|
||
rediscommander/redis-commander
|
||
# Откройте http://localhost:8081
|
||
```
|
||
|
||
### pgAdmin - GUI для PostgreSQL
|
||
|
||
```bash
|
||
docker run -d -p 5050:80 --name pgadmin \
|
||
-e PGADMIN_DEFAULT_EMAIL=admin@admin.com \
|
||
-e PGADMIN_DEFAULT_PASSWORD=admin \
|
||
dpage/pgadmin4
|
||
# Откройте http://localhost:5050
|
||
```
|
||
|
||
---
|
||
|
||
|
||
### Остановка сервисов
|
||
|
||
```bash
|
||
# Остановка Docker контейнеров
|
||
docker-compose down
|
||
|
||
# Остановка Celery Worker
|
||
pkill -f "celery worker"
|
||
```
|
||
|
||
### Удаление данных
|
||
|
||
```bash
|
||
# Удаление Docker volumes
|
||
docker-compose down -v
|
||
|
||
# Удаление виртуального окружения
|
||
rm -rf dbapp/.venv
|
||
|
||
# Удаление миграций (опционально)
|
||
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`
|
||
|