Files
hao-ai-lab-FastVideo/fastvideo/entrypoints/openai/state.py
T
Davids048andClaude Opus 5.5 e263249175 [refactor]: name the runtime config parameter resolved_config
Every parameter, attribute, and keyword argument that carries the runtime
config is named resolved_config instead of fastvideo_args, including the
RPC kwargs keys between the executors and the workers. The module path
fastvideo.fastvideo_args is unchanged. The rename is mechanical (a
token-level rewrite) plus yapf line wrapping.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012M91wnVFmPEvJ9h39r5BH7
2026-10-03 05:45:37 +00:00

88 lines
2.9 KiB
Python

"""Global server state shared across API modules.
Keeping state in a dedicated module gives every API module the same
generator and server args. All modules that need them should import from here.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from fastvideo.api.resolution import ResolvedGeneratorConfig
from fastvideo.api.schema import GenerationRequest
from fastvideo.entrypoints.openai.serving_engine import OpenAIServingEngine, ServingGenerator
DEFAULT_OUTPUT_DIR = "outputs"
_generator: ServingGenerator | None = None
_serving_engine: OpenAIServingEngine | None = None
_fastvideo_args: ResolvedGeneratorConfig | None = None
_output_dir: str = DEFAULT_OUTPUT_DIR
_served_model_name: str | None = None
_default_request: GenerationRequest | None = None
def get_generator() -> ServingGenerator:
"""Return the global VideoGenerator instance (set during startup)."""
assert _generator is not None, "Server not initialized — generator is None"
return _generator
def get_serving_engine() -> OpenAIServingEngine:
"""Return the shared model-agnostic OpenAI serving engine."""
assert _serving_engine is not None, "Server not initialized — serving engine is None"
return _serving_engine
def get_server_args() -> ResolvedGeneratorConfig:
"""Return the resolved runtime config of the served generator (set during startup)."""
assert _fastvideo_args is not None, "Server not initialized — args is None"
return _fastvideo_args
def get_output_dir() -> str:
"""Return the configured output directory."""
return _output_dir
def get_served_model_name() -> str:
"""Return the public model id advertised by the OpenAI server."""
args = get_server_args()
if args.lora_path:
return args.lora_nickname
return _served_model_name or args.model_path
def get_default_request() -> GenerationRequest | None:
"""Return the ServeConfig.default_request set at startup, if any."""
return _default_request
def set_state(
generator: ServingGenerator,
serving_engine: OpenAIServingEngine,
resolved_config: ResolvedGeneratorConfig,
output_dir: str,
default_request: GenerationRequest | None = None,
served_model_name: str | None = None,
) -> None:
"""Set all server state at once (called from lifespan)."""
global _generator, _serving_engine, _fastvideo_args, _output_dir, _served_model_name, _default_request
_generator = generator
_serving_engine = serving_engine
_fastvideo_args = resolved_config
_output_dir = output_dir
_served_model_name = served_model_name
_default_request = default_request
def clear_state() -> None:
"""Clear server state on shutdown."""
global _generator, _serving_engine, _fastvideo_args, _served_model_name, _default_request
_generator = None
_serving_engine = None
_fastvideo_args = None
_served_model_name = None
_default_request = None