feat: add parser source dashboard and scheduling

This commit is contained in:
2026-04-27 23:36:28 +02:00
parent 199d871923
commit 5da808167d
94 changed files with 14985 additions and 255 deletions

View File

@@ -73,7 +73,10 @@ uv pip install -r requirements-dev.txt
# Настройка переменных окружения
echo "Настройка переменных окружения..."
cp .env.example .env
# Здесь можно автоматически заполнить .env файл или запросить ввод
sed -i 's/^DJANGO_SETTINGS_MODULE=.*/DJANGO_SETTINGS_MODULE=config.settings.production/' .env
sed -i 's/^DEBUG=.*/DEBUG=False/' .env
export DJANGO_SETTINGS_MODULE=config.settings.production
# Здесь нужно заполнить SECRET_KEY, ALLOWED_HOSTS и доступы к БД перед запуском
# Настройка базы данных
echo "Настройка базы данных..."
@@ -88,9 +91,10 @@ python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --noinput
# Создание суперпользователя (опционально)
echo "Создание суперпользователя..."
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('admin', 'admin@example.com', 'adminpass') if not User.objects.filter(username='admin').exists() else None" | python manage.py shell
# Создание суперпользователя выполняется только через переменные окружения Django.
if [ "${CREATE_DJANGO_SUPERUSER:-false}" = "true" ]; then
python manage.py createsuperuser --noinput
fi
# Настройка systemd сервисов
echo "Настройка systemd сервисов..."
@@ -124,4 +128,4 @@ systemctl restart apache2
echo "=== Развертывание завершено успешно ==="
echo "Проект доступен по адресу: https://ваш-ip-адрес"
echo "Админка Django: https://ваш-ip-адрес/admin/"
echo "API документация: https://ваш-ip-адрес/api/"
echo "API документация: https://ваш-ip-адрес/api/"

View File

@@ -7,9 +7,10 @@ Type=simple
User=www-data
Group=www-data
EnvironmentFile=/var/www/project/.env
Environment=DJANGO_SETTINGS_MODULE=config.settings.production
WorkingDirectory=/var/www/project/src
ExecStart=/var/www/project/venv/bin/celery -A config beat --loglevel=INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler
Restart=always
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target

View File

@@ -3,14 +3,16 @@ Description=Celery Worker for Django project
After=network.target redis.service postgresql.service
[Service]
Type=forking
Type=simple
User=www-data
Group=www-data
EnvironmentFile=/var/www/project/.env
Environment=DJANGO_SETTINGS_MODULE=config.settings.production
RuntimeDirectory=celery
WorkingDirectory=/var/www/project/src
ExecStart=/var/www/project/venv/bin/celery -A config worker --loglevel=INFO --pidfile=/run/celery/worker.pid
ExecStart=/var/www/project/venv/bin/celery -A config worker --loglevel=INFO
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/run/celery/worker.pid
Restart=always
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target

View File

@@ -6,6 +6,8 @@ After=network.target
Type=notify
User=www-data
Group=www-data
EnvironmentFile=/var/www/project/.env
Environment=DJANGO_SETTINGS_MODULE=config.settings.production
RuntimeDirectory=gunicorn
WorkingDirectory=/var/www/project/src
ExecStart=/var/www/project/venv/bin/gunicorn config.wsgi:application \
@@ -24,4 +26,4 @@ TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target