feat: multi-GPU queue routing for legacy still renders (M2)
dispatch_order_line_render now routes still renders (non-animation, non-cinematic) to a secondary GPU queue when MULTI_GPU_LIGHT_RENDER_QUEUE is configured and that queue has active Celery workers. - config.py: multi_gpu_light_render_queue setting (default "" = disabled) - render_order_line.py: implement the routing stub — load output_type via selectinload, check render_settings.animation + .cinematic flags, call _inspect_active_worker_queues (reused from workflow_graph_runtime) with 0.5s timeout to check if the light queue is live No behaviour change when MULTI_GPU_LIGHT_RENDER_QUEUE is not set. Enable by setting it to "asset_pipeline_light" and adding a render-worker-light service with concurrency=1 to docker-compose. docs: learnings erfasst — multi-GPU queue routing M2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,14 @@ class Settings(BaseSettings):
|
||||
|
||||
# Redis / Celery
|
||||
redis_url: str = "redis://localhost:6379/0"
|
||||
# Queue for shadow-mode workflow renders (second GPU worker).
|
||||
workflow_shadow_render_queue: str = "asset_pipeline_light"
|
||||
# When non-empty AND that queue has active workers, still renders from the
|
||||
# legacy dispatch path are routed here instead of asset_pipeline, enabling
|
||||
# concurrent still rendering on multi-GPU setups.
|
||||
# Set MULTI_GPU_LIGHT_RENDER_QUEUE=asset_pipeline_light in docker-compose
|
||||
# for the render-worker-light service and restart the workers.
|
||||
multi_gpu_light_render_queue: str = ""
|
||||
|
||||
@model_validator(mode="after")
|
||||
def normalize_runtime_hosts(self) -> "Settings":
|
||||
|
||||
Reference in New Issue
Block a user