fix: revert dual queue to single GPU — light worker caused 2x regression
Root cause: render-worker and render-worker-light shared the same GPU, causing contention. Complex TRB renders went from 17s → 36s (2x slower). Changes: - Thumbnails back to asset_pipeline queue (not asset_pipeline_light) - Dispatch routing always uses asset_pipeline (no queue splitting) - render-worker-light gated behind "multi-gpu" profile — only starts with: docker compose --profile multi-gpu up -d - For single-GPU setups: all rendering is sequential on one worker The dual queue approach is correct for multi-GPU machines where each worker gets its own GPU. On single-GPU, serial execution is faster than concurrent GPU contention. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,7 @@ def _pipeline_session(tenant_id: str | None = None):
|
||||
engine.dispose()
|
||||
|
||||
|
||||
@celery_app.task(bind=True, name="app.tasks.step_tasks.render_step_thumbnail", queue="asset_pipeline_light")
|
||||
@celery_app.task(bind=True, name="app.tasks.step_tasks.render_step_thumbnail", queue="asset_pipeline")
|
||||
def render_step_thumbnail(self, cad_file_id: str):
|
||||
"""Render the thumbnail for a freshly-processed STEP file.
|
||||
|
||||
@@ -188,7 +188,7 @@ def render_step_thumbnail(self, cad_file_id: str):
|
||||
pl.step_done("render_step_thumbnail")
|
||||
|
||||
|
||||
@celery_app.task(bind=True, name="app.tasks.step_tasks.regenerate_thumbnail", queue="asset_pipeline_light")
|
||||
@celery_app.task(bind=True, name="app.tasks.step_tasks.regenerate_thumbnail", queue="asset_pipeline")
|
||||
def regenerate_thumbnail(self, cad_file_id: str, part_colors: dict):
|
||||
"""Regenerate thumbnail with per-part colours."""
|
||||
pl = PipelineLogger(task_id=self.request.id)
|
||||
|
||||
Reference in New Issue
Block a user