Skip to content

vllm.entrypoints.serve.checkpoint.api_router

Functions:

checkpoint_prepare(raw_request, mode='wait') async

Drain with mode and release what a checkpoint must not contain. Returns once started; poll /checkpoint/status. Repeating is a no-op.

Source code in vllm/entrypoints/serve/checkpoint/api_router.py
@router.post(
    "/checkpoint/prepare",
    responses={
        HTTPStatus.OK.value: _STATE_RESPONSE,
        HTTPStatus.BAD_REQUEST.value: _STATE_RESPONSE,
    },
)
async def checkpoint_prepare(raw_request: Request, mode: PauseMode = "wait"):
    """Drain with `mode` and release what a checkpoint must not contain.
    Returns once started; poll /checkpoint/status. Repeating is a no-op."""
    client = engine_client(raw_request)
    state, error = await client.checkpoint_state()
    if state == CheckpointState.RUNNING:
        if refusal := await client.checkpoint_prepare(mode):
            return _state_response(state, refusal, HTTPStatus.BAD_REQUEST)
        state, error = await client.checkpoint_state()
    elif state in (CheckpointState.RESTORING, CheckpointState.FAILED):
        return _state_response(state, error, HTTPStatus.BAD_REQUEST)
    return _state_response(state, error, HTTPStatus.OK)

checkpoint_restore(raw_request) async

Bring back what preparing released and serve. Orchestrators may redeliver, so a restore in progress or done returns 200.

Source code in vllm/entrypoints/serve/checkpoint/api_router.py
@router.post(
    "/checkpoint/restore",
    responses={
        HTTPStatus.OK.value: _STATE_RESPONSE,
        HTTPStatus.BAD_REQUEST.value: _STATE_RESPONSE,
    },
)
async def checkpoint_restore(raw_request: Request):
    """Bring back what preparing released and serve. Orchestrators may
    redeliver, so a restore in progress or done returns 200."""
    client = engine_client(raw_request)
    state, error = await client.checkpoint_state()
    if state in (CheckpointState.PREPARING, CheckpointState.FAILED):
        return _state_response(state, error, HTTPStatus.BAD_REQUEST)
    if state == CheckpointState.PREPARED:
        await client.checkpoint_restore()
        state, error = await client.checkpoint_state()
    return _state_response(state, error, HTTPStatus.OK)