Administrando Schedulers

Este documento cubre el ciclo de vida de los schedulers: creación con metadatos, listado con búsqueda y filtro, actualización de configuración, monitoreo de salud y eliminación.

Crear un Scheduler

Crea un nuevo scheduler con un nombre visible:

1curl -X POST "https://api.hola.cloud/schedulers" \
2  -H "X-API-Key: TU_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "display_name": "scheduler-correos"
6  }'
1POST /schedulers HTTP/1.1
2Host: api.hola.cloud
3X-API-Key: TU_API_KEY
4Content-Type: application/json
5
6{
7  "display_name": "scheduler-correos"
8}

Respuesta esperada:

1{
2  "id": "sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
3  "display_name": "scheduler-correos",
4  "ready": true,
5  "scheduled": 0,
6  "inflight": 0
7}

Listar Schedulers

Lista todos los schedulers de tu cuenta (público):

1curl "https://api.hola.cloud/schedulers"
1GET /schedulers HTTP/1.1
2Host: api.hola.cloud

Respuesta esperada:

 1[
 2  {
 3    "id": "sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 4    "display_name": "scheduler-correos",
 5    "ready": true,
 6    "scheduled": 5,
 7    "inflight": 0
 8  },
 9  {
10    "id": "sched-b2c3d4e5-f6a7-8901-bcde-f12345678901",
11    "display_name": "generador-informes",
12    "ready": true,
13    "scheduled": 0,
14    "inflight": 0
15  }
16]

Obtener Detalles de un Scheduler

Recupera un scheduler por su ID:

1curl "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
1GET /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890 HTTP/1.1
2Host: api.hola.cloud

Respuesta esperada:

1{
2  "id": "sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
3  "display_name": "scheduler-correos",
4  "ready": true,
5  "scheduled": 5,
6  "inflight": 0
7}

Actualizar un Scheduler

Actualiza el nombre visible u otros metadatos:

1curl -X PATCH "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
2  -H "X-API-Key: TU_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "display_name": "scheduler-correos-v2"
6  }'
1PATCH /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890 HTTP/1.1
2Host: api.hola.cloud
3X-API-Key: TU_API_KEY
4Content-Type: application/json
5
6{
7  "display_name": "scheduler-correos-v2"
8}

Respuesta esperada:

1{
2  "id": "sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
3  "display_name": "scheduler-correos-v2",
4  "ready": true,
5  "scheduled": 5,
6  "inflight": 0
7}

PUT puede usarse indistintamente con PATCH.

Monitoreo de Salud

Verifica el estado de salud de un scheduler en cualquier momento:

1curl "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/health"
1GET /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/health HTTP/1.1
2Host: api.hola.cloud

Respuesta esperada:

1{
2  "status": "ok",
3  "ready": true,
4  "scheduled": 0,
5  "inflight": 0,
6  "scheduler_id": "sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890"6
7}

Un estado distinto de ok indica que el scheduler no está disponible o está en un estado degradado.

Eliminar un Scheduler

Elimina permanentemente un scheduler y todas sus tareas:

1curl -X DELETE "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
2  -H "X-API-Key: TU_API_KEY"
1DELETE /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890 HTTP/1.1
2Host: api.hola.cloud
3X-API-Key: TU_API_KEY

Respuesta esperada: HTTP 204 No Content.

Una vez eliminado, el ID del scheduler ya no es válido y todas las tareas pendientes se descartan.

Comentarios

Deja un comentario