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