lizard sleep

Permite que un servicio duerma cuando no recibe tráfico y despierte con la siguiente solicitud (alias lizard serverless). Duerme con su memoria guardada, así que despierta donde lo dejó, normalmente en un segundo aproximadamente.

Uso

lizard sleep [service] [flags]

Sin --on ni --off, sleep muestra el ajuste y cuántas veces ha dormido y despertado el servicio. Sin el argumento service, usa el servicio vinculado al directorio. En el panel, el mismo ajuste es el interruptor Serverless en los ajustes del servicio.

Banderas

BanderaDescripción
-s, --service <name>Nombre o ID del servicio (igual que el argumento service)
-p, --project <id>Nombre, slug o ID del proyecto
--onDormir en reposo. El servicio se reinicia una vez para aplicarlo
--offSiempre encendido. Un servicio dormido despierta
--idle <minutes>Minutos sin tráfico antes de dormir, de 5 a 1440. --on sin esta bandera fija 10. Sola, cambia el tiempo de reposo de un servicio que ya duerme

Cómo funciona

Tras el tiempo de reposo sin tráfico, Lizard guarda la memoria y los procesos del servicio y detiene su contenedor. La primera solicitud HTTP a una app, o la primera conexión de un cliente a una base de datos, lo despierta: Lizard restaura el estado guardado, normalmente en un segundo aproximadamente, y después pasa la solicitud. Si el estado guardado no se puede restaurar, el servicio arranca de nuevo, lo que tarda lo mismo que un arranque normal.

Un servicio solo duerme cuando no hay nada conectado:

  • Una app duerme cuando no ha recibido solicitudes durante el tiempo de reposo y no tiene conexiones abiertas. Un WebSocket abierto la mantiene despierta.
  • Una base de datos duerme cuando ningún cliente ha estado conectado durante el tiempo de reposo. Un pool de conexiones que mantiene conexiones abiertas la mantiene despierta.

Un servicio en pausa no duerme ni despierta.

Qué servicios pueden dormir

  • Apps con una réplica y un puerto. Los workers (puerto 0) y las apps con más de una réplica no pueden dormir.
  • Managed Postgres 14 o posterior, y Managed Redis.

Una app en un runtime antiguo necesita primero un redespliegue; el comando te avisa. Cualquier miembro del proyecto puede cambiar el ajuste.

Facturación

Mientras un servicio duerme, no usa CPU y casi no usa memoria, así que sus cargos de cómputo casi se detienen hasta que despierta. Los datos que conserva pueden seguir facturándose como almacenamiento; consulta Facturación.

Salida JSON

Con --json, sleep imprime id, name, kind (app o addon), enabled, idleMinutes, sleeps, wakes, lastSleptAt y lastWokeAt (tiempo Unix en milisegundos, o null) y lastError. Después de --on, --off o --idle, restarted indica si el servicio se reinició para aplicar el cambio.

Ejemplos

Mostrar el ajuste

lizard sleep api

Dormir tras 30 minutos de reposo

lizard sleep api --on --idle 30

Dejar que una base de datos duerma

lizard sleep --service my-db --on

Cambiar el tiempo de reposo

lizard sleep api --idle 60

Mantener un servicio siempre encendido

lizard sleep api --off

Véase también

Actualizado