Ciclo de Vida de Tareas

El Scheduler mantiene una cola retrasada en memoria. Una tarea se encola con id, future o delay, payload y labels como array de strings. Los trabajadores reservan tareas con un lease y las eliminan para confirmar el procesamiento.

Encolar

1curl -X POST "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks" \
2  -H "X-API-Key: TU_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "id": "tarea-001",
6    "payload": { "accion": "generar_informe" },
7    "delay": "1h",
8    "labels": ["equipo:analitica", "entorno:produccion"]
9  }'

Respuesta: HTTP 202 Accepted con cuerpo vacío.

Listar

 1{
 2  "scheduled": [
 3    {
 4      "id": "tarea-001",
 5      "future": "2025-06-22T00:00:00Z",
 6      "labels": ["equipo:analitica"]
 7    }
 8  ],
 9  "inflight": [],
10  "scheduled_meta": { "page": 1, "per_page": 25, "total": 1, "total_pages": 1 },
11  "inflight_meta": { "page": 1, "per_page": 25, "total": 0, "total_pages": 0 }
12}

Reservar

1{ "worktime": "60s" }
1{
2  "id": "tarea-001",
3  "payload": { "accion": "generar_informe" },
4  "lease_expires_at": "2025-06-21T12:01:00Z",
5  "labels": ["equipo:analitica"]
6}

Si no hay tareas disponibles, la API devuelve 204 No Content.

Extender Lease

1{ "extension": "30s" }
1{ "lease_expires_at": "2025-06-21T12:01:30Z" }

Confirmar

El trabajador confirma una tarea eliminándola:

1curl -X DELETE "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-001" \
2  -H "X-API-Key: TU_API_KEY"

Respuesta: HTTP 204 No Content.

Reprogramar

1{ "delay": "5m" }
1{
2  "id": "tarea-001",
3  "future": "2025-06-21T12:06:00Z"
4}

SSE

El stream SSE emite solo eventos snapshot con scheduled, inflight, metas de paginacion y health.

Comentarios

Deja un comentario