From 65c3055de6d950111d2982a3c328ad2fe718513a Mon Sep 17 00:00:00 2001 From: buenosairesam Date: Fri, 6 Feb 2026 08:33:48 -0300 Subject: [PATCH] better naming for celery and grpc --- api/routes/system.py | 2 +- ctrl/docker-compose.yml | 4 +++- ctrl/generate.sh | 12 ++++++------ mpr/media_assets/models.py | 9 +++------ {grpc => rpc}/__init__.py | 0 {grpc => rpc}/client.py | 0 {grpc => rpc}/protos/worker.proto | 0 {grpc => rpc}/server.py | 2 +- {grpc => rpc}/worker_pb2.py | 0 {grpc => rpc}/worker_pb2_grpc.py | 0 schema/models/grpc.py | 6 +++--- {worker => task}/__init__.py | 0 {worker => task}/executor.py | 0 {worker => task}/tasks.py | 4 ++-- 14 files changed, 19 insertions(+), 20 deletions(-) rename {grpc => rpc}/__init__.py (100%) rename {grpc => rpc}/client.py (100%) rename {grpc => rpc}/protos/worker.proto (100%) rename {grpc => rpc}/server.py (99%) rename {grpc => rpc}/worker_pb2.py (100%) rename {grpc => rpc}/worker_pb2_grpc.py (100%) rename {worker => task}/__init__.py (100%) rename {worker => task}/executor.py (100%) rename {worker => task}/tasks.py (96%) diff --git a/api/routes/system.py b/api/routes/system.py index 3ae477a..eebccff 100644 --- a/api/routes/system.py +++ b/api/routes/system.py @@ -25,7 +25,7 @@ def system_status(): def worker_status(): """Worker status from gRPC.""" try: - from grpc.client import get_client + from rpc.client import get_client client = get_client() status = client.get_worker_status() diff --git a/ctrl/docker-compose.yml b/ctrl/docker-compose.yml index 1870233..bdc65de 100644 --- a/ctrl/docker-compose.yml +++ b/ctrl/docker-compose.yml @@ -99,7 +99,7 @@ services: build: context: .. dockerfile: ctrl/Dockerfile - command: python -m grpc.server + command: python -m rpc.server ports: - "50052:50051" environment: @@ -140,6 +140,8 @@ services: dockerfile: Dockerfile ports: - "5173:5173" + environment: + VITE_ALLOWED_HOSTS: ${VITE_ALLOWED_HOSTS:-} volumes: - ../ui/timeline/src:/app/src diff --git a/ctrl/generate.sh b/ctrl/generate.sh index 3d91f20..1f3a457 100755 --- a/ctrl/generate.sh +++ b/ctrl/generate.sh @@ -29,18 +29,18 @@ python -m modelgen from-schema \ # Protobuf for gRPC python -m modelgen from-schema \ --schema schema/models \ - --output grpc/protos/worker.proto \ + --output rpc/protos/worker.proto \ --targets proto # Generate gRPC stubs from proto echo "Generating gRPC stubs..." python -m grpc_tools.protoc \ - -I grpc/protos \ - --python_out=grpc \ - --grpc_python_out=grpc \ - grpc/protos/worker.proto + -I rpc/protos \ + --python_out=rpc \ + --grpc_python_out=rpc \ + rpc/protos/worker.proto # Fix relative import in generated grpc stub -sed -i 's/^import worker_pb2/from . import worker_pb2/' grpc/worker_pb2_grpc.py +sed -i 's/^import worker_pb2/from . import worker_pb2/' rpc/worker_pb2_grpc.py echo "Done!" diff --git a/mpr/media_assets/models.py b/mpr/media_assets/models.py index 6d6f505..971768b 100644 --- a/mpr/media_assets/models.py +++ b/mpr/media_assets/models.py @@ -1,8 +1,7 @@ """ Django ORM Models - GENERATED FILE -Do not edit directly. Modify schema/models/*.py and run: - python schema/generate.py --django +Do not edit directly. Regenerate using modelgen. """ import uuid @@ -13,7 +12,6 @@ class AssetStatus(models.TextChoices): READY = "ready", "Ready" ERROR = "error", "Error" - class JobStatus(models.TextChoices): PENDING = "pending", "Pending" PROCESSING = "processing", "Processing" @@ -21,14 +19,13 @@ class JobStatus(models.TextChoices): FAILED = "failed", "Failed" CANCELLED = "cancelled", "Cancelled" - class MediaAsset(models.Model): """A video/audio file registered in the system.""" id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) filename = models.CharField(max_length=500) file_path = models.CharField(max_length=1000) - status = models.CharField(max_length=20, choices=AssetStatus.choices, default=AssetStatus.PENDING) + status = models.CharField(max_length=20, choices=Status.choices, default=Status.PENDING) error_message = models.TextField(blank=True, default='') file_size = models.BigIntegerField(null=True, blank=True) duration = models.FloatField(null=True, blank=True, default=None) @@ -92,7 +89,7 @@ class TranscodeJob(models.Model): output_filename = models.CharField(max_length=500) output_path = models.CharField(max_length=1000, null=True, blank=True) output_asset_id = models.UUIDField(null=True, blank=True) - status = models.CharField(max_length=20, choices=JobStatus.choices, default=JobStatus.PENDING) + status = models.CharField(max_length=20, choices=Status.choices, default=Status.PENDING) progress = models.FloatField(default=0.0) current_frame = models.IntegerField(null=True, blank=True, default=None) current_time = models.FloatField(null=True, blank=True, default=None) diff --git a/grpc/__init__.py b/rpc/__init__.py similarity index 100% rename from grpc/__init__.py rename to rpc/__init__.py diff --git a/grpc/client.py b/rpc/client.py similarity index 100% rename from grpc/client.py rename to rpc/client.py diff --git a/grpc/protos/worker.proto b/rpc/protos/worker.proto similarity index 100% rename from grpc/protos/worker.proto rename to rpc/protos/worker.proto diff --git a/grpc/server.py b/rpc/server.py similarity index 99% rename from grpc/server.py rename to rpc/server.py index a994fcd..ed23e6d 100644 --- a/grpc/server.py +++ b/rpc/server.py @@ -59,7 +59,7 @@ class WorkerServicer(worker_pb2_grpc.WorkerServiceServicer): # Dispatch to Celery if available if self.celery_app: - from worker.tasks import run_transcode_job + from task.tasks import run_transcode_job task = run_transcode_job.delay( job_id=job_id, diff --git a/grpc/worker_pb2.py b/rpc/worker_pb2.py similarity index 100% rename from grpc/worker_pb2.py rename to rpc/worker_pb2.py diff --git a/grpc/worker_pb2_grpc.py b/rpc/worker_pb2_grpc.py similarity index 100% rename from grpc/worker_pb2_grpc.py rename to rpc/worker_pb2_grpc.py diff --git a/schema/models/grpc.py b/schema/models/grpc.py index b42a913..313bf7b 100644 --- a/schema/models/grpc.py +++ b/schema/models/grpc.py @@ -2,9 +2,9 @@ gRPC message definitions for MPR worker communication. This is the source of truth for gRPC messages. The generator creates: -- grpc/protos/worker.proto (protobuf definition) -- grpc/worker_pb2.py (generated Python classes) -- grpc/worker_pb2_grpc.py (generated gRPC stubs) +- rpc/protos/worker.proto (protobuf definition) +- rpc/worker_pb2.py (generated Python classes) +- rpc/worker_pb2_grpc.py (generated gRPC stubs) """ from dataclasses import dataclass diff --git a/worker/__init__.py b/task/__init__.py similarity index 100% rename from worker/__init__.py rename to task/__init__.py diff --git a/worker/executor.py b/task/executor.py similarity index 100% rename from worker/executor.py rename to task/executor.py diff --git a/worker/tasks.py b/task/tasks.py similarity index 96% rename from worker/tasks.py rename to task/tasks.py index 6a37e09..423a8a1 100644 --- a/worker/tasks.py +++ b/task/tasks.py @@ -8,8 +8,8 @@ from typing import Any, Dict, Optional from celery import shared_task -from grpc.server import update_job_progress -from worker.executor import get_executor +from rpc.server import update_job_progress +from task.executor import get_executor logger = logging.getLogger(__name__)