diff --git a/compose.yaml b/compose.yaml index 9aac6d8..5cfe9ac 100644 --- a/compose.yaml +++ b/compose.yaml @@ -88,7 +88,7 @@ services: image: gitlab.prodcontest.ru:5050/team-15/project/backend:latest build: context: ./services/backend - command: celery -A config worker -l INFO + entrypoint: ["/app/scripts/celery-worker-entrypoint.sh"] depends_on: redis: restart: false @@ -106,6 +106,10 @@ services: retries: 3 start_period: 10s start_interval: 2s + volumes: + - type: bind + source: ./infrastructure/backend/scripts + target: /app/scripts restart: unless-stopped celery-exporter: diff --git a/infrastructure/backend/scripts/celery-worker-entrypoint.sh b/infrastructure/backend/scripts/celery-worker-entrypoint.sh new file mode 100644 index 0000000..3afd460 --- /dev/null +++ b/infrastructure/backend/scripts/celery-worker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +echo "Installing required libs..." +pip install -r checker_requirements.txt + +echo "Starting Celery worker..." +celery -A config worker -l INFO diff --git a/services/backend/Dockerfile.staticfiles b/services/backend/Dockerfile.staticfiles index 5150bf5..d5199e1 100644 --- a/services/backend/Dockerfile.staticfiles +++ b/services/backend/Dockerfile.staticfiles @@ -24,4 +24,6 @@ FROM docker.io/nginx:latest COPY --from=builder /app/static /usr/share/nginx/html +COPY checker_requirements.txt /usr/share/nginx/html + CMD ["nginx", "-g", "daemon off;"] diff --git a/services/backend/apps/competition/migrations/0002_alter_state_state.py b/services/backend/apps/competition/migrations/0002_alter_state_state.py new file mode 100644 index 0000000..9814e70 --- /dev/null +++ b/services/backend/apps/competition/migrations/0002_alter_state_state.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.6 on 2025-03-02 00:09 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('competition', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='state', + name='state', + field=models.CharField(choices=[('not_started', 'Not Started'), ('started', 'Started'), ('finished', 'Finished')], default='not_started', max_length=11), + ), + ] diff --git a/services/backend/checker_requirements.txt b/services/backend/checker_requirements.txt new file mode 100644 index 0000000..7cc32d3 --- /dev/null +++ b/services/backend/checker_requirements.txt @@ -0,0 +1,7 @@ +pandas==2.2.3 +numpy==2.2.3 +matplotlib==3.10.1 +scipy==1.15.2 +scikit-learn==1.6.1 +seaborn==0.13.2 +statsmodels==0.14.4 diff --git a/services/backend/pyproject.toml b/services/backend/pyproject.toml index 056017b..20b218e 100644 --- a/services/backend/pyproject.toml +++ b/services/backend/pyproject.toml @@ -32,11 +32,11 @@ dependencies = [ [dependency-groups] dev = [ - "coverage>=7.6.12", - "django-debug-toolbar>=4.4.6", - "django-stubs[compatible-mypy]>=5.1.3", - "mypy>=1.15.0", - "ruff>=0.9.3", + "coverage>=7.6.12", + "django-debug-toolbar>=4.4.6", + "django-stubs[compatible-mypy]>=5.1.3", + "mypy>=1.15.0", + "ruff>=0.9.3", ] [tool.ruff]