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
| Bandera | Descripción |
|---|---|
-s, --service <name> | Nombre o ID del servicio (igual que el argumento service) |
-p, --project <id> | Nombre, slug o ID del proyecto |
--on | Dormir en reposo. El servicio se reinicia una vez para aplicarlo |
--off | Siempre 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 apiDormir tras 30 minutos de reposo
lizard sleep api --on --idle 30Dejar que una base de datos duerma
lizard sleep --service my-db --onCambiar el tiempo de reposo
lizard sleep api --idle 60Mantener un servicio siempre encendido
lizard sleep api --offVéase también
- lizard pause — detener un servicio hasta que lo reanudes
- lizard scale — réplicas, CPU y memoria
- Managed Postgres y Managed Redis
- Facturación — tarifas de cómputo y almacenamiento
Actualizado