Estados de la instancia
Cada instancia está en exactamente uno de ocho estados. La insignia de la página Instancias, la insignia de la página de detalle de la instancia y el campo status que devuelve la API informan todos el mismo valor.
Los estados
| Estado | De transición | Qué significa | Qué factura | Qué puede hacer desde él |
|---|---|---|---|---|
creating | sí | Su despliegue fue aceptado y Superheat está aprovisionando el bloque y descargando la imagen | nada | Espere, o destruya |
starting | sí | Una instancia detenida está volviendo en la misma máquina con el mismo disco | nada | Espere, o destruya |
running | no | La carga de trabajo está activa y los datos de conexión están publicados | GPU: el precio por hora de la oferta por el bloque completo, medido por segundo | Conectarse por SSH, abrir JupyterLab, leer los logs, detener, destruir |
stopping | sí | La carga de trabajo se está apagando; el disco se conserva | nada | Espere, o destruya |
stopped | no | La carga de trabajo está apagada; su disco se conserva en esa máquina, y su ranura de GPU también, salvo que la plataforma la haya liberado: el saldo llegó a cero, o una disputa de pago congeló los pagos | Disco: el tamaño de su disco multiplicado por la tarifa de almacenamiento por GB-hora | Iniciar, destruir |
destroying | sí | El desmontaje está en curso y el bloque se está liberando | nada | Espere. Destruir de nuevo vuelve a enviar el desmontaje |
destroyed | no | Terminal. El disco se elimina y la oferta vuelve al mercado | nada | Nada. Las instancias destruidas se ocultan de la lista salvo que las pida explícitamente |
error | no | La carga de trabajo no pudo levantarse, falló o se perdió, o terminó por su cuenta. error_code indica cuál | nada | Leer los logs, destruir |
error no factura nada. En cuanto la plataforma ve que la carga de trabajo terminó —falló, se perdió o acabó—, las GPU se liberan y vuelven a los available_units de la oferta. Un despliegue que falló antes de que su carga de trabajo llegara al host las sigue reteniendo hasta que la instancia se destruye. Toda instancia con error cuenta para el límite de 25 instancias hasta que se destruye.
Estados de transición
Cuatro estados —creating, starting, stopping y destroying— son de transición: Superheat está completando el cambio, no hay ningún medidor en marcha y nada de lo que haga lo acelera — aunque una instancia en creating, starting o stopping se puede destruir directamente en lugar de esperarla. La consola dibuja una insignia pulsante para estos y consulta cada 3 segundos mientras alguna de sus instancias esté en uno de ellos; luego vuelve a cada 15 segundos una vez que todo se ha estabilizado.
Mientras una instancia está en creating, la consola muestra el aviso Aprovisionando tu máquina…. La descarga de una imagen grande puede mantenerla ahí varios minutos, y nada de ese tiempo de descarga se cobra.
Qué transiciones son válidas
| Desde | Usted puede pedir | La plataforma también puede llevarla a |
|---|---|---|
creating | destroying | running, error |
starting | destroying | running, stopped (reanudación rechazada o nunca confirmada), error |
running | stopping, destroying | stopped, error |
stopping | destroying | stopped, running (detención nunca confirmada), error |
stopped | starting, destroying | running, error (el contenedor ya no existe) |
destroying | — (pedirlo de nuevo vuelve a enviar el desmontaje) | destroyed, error |
destroyed | nada — el estado es definitivo | nada |
error | destroying | running, stopped (la carga de trabajo se encontró sana) |
La ruta normal es creating → running → stopping → stopped → starting → running. El desmontaje siempre es destroying → destroyed.
destroying se puede alcanzar a propósito desde todos los estados que siguen vivos. Un despliegue que nunca aterriza —la asignación esperando para siempre porque nada en la flota encaja, o un trabajo que el host ya no conoce—, o una detención o un inicio que el host nunca responde, dejaría si no una instancia que no podría borrar. Puede destruir una instancia que todavía se está levantando, iniciando o deteniendo. Un DELETE sobre una instancia que ya está en destroying tampoco se rechaza: pide el desmontaje otra vez.
Los movimientos propios de la plataforma están ahí para que el estado diga la verdad. Una detención que el host no confirma en 30 minutos devuelve la instancia a running —el contenedor sigue activo, así que el medidor de GPU vuelve a encenderse— y la detención se reintenta. Un inicio que el host rechaza, para el que no se le puede contactar o que no confirma en 30 minutos devuelve la instancia a stopped; en una instancia cuyas GPU se liberaron, un rechazo suele significar que ahora las tiene otro cliente (gpus_unavailable). Una instancia detenida cuyo contenedor desaparece de su máquina pasa a error (workload_gone), porque no queda nada que iniciar. El error_code de la instancia nombra lo que ocurrió, y la página de la instancia lo explica.
Cualquier solicitud que pida una transición fuera de la columna "Usted puede pedir" se rechaza con 409 INVALID_STATE y la instancia queda intacta. La API lista lo que está permitido en este momento en allowed_actions de la instancia.