Extender Lease

Extiende la concesión de una tarea actualmente reservada.

Autenticación

Requiere autenticación. Pasa tu clave API mediante el encabezado X-API-Key o Authorization: Bearer.

Parámetros de Ruta

Parámetro Tipo Descripción
id string Identificador único del scheduler
task string Identificador único de la tarea

Cuerpo de la Solicitud

Campo Tipo Descripción
extension integer Tiempo adicional de concesión en segundos
1{
2  "extension": "30s"
3}

Ejemplo de Solicitud

curl -X POST "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend" \
  -H "X-API-Key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "extension": "30s"
  }'
POST /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend HTTP/1.1
Host: api.hola.cloud
X-API-Key: TU_API_KEY
Content-Type: application/json

{
    "extension": "30s"
  }
// Go 1.21+, standard library only. Save as main.go and run: go run main.go
package main

import (
	"fmt"
	"io"
	"net/http"
	"encoding/json"
	"strings"
)

func main() {
	payload := map[string]any{"extension": "30s"}
	bodyBytes, err := json.Marshal(payload)
	if err != nil {
		panic(err)
	}
	body := string(bodyBytes)

	req, err := http.NewRequest("POST", "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", strings.NewReader(body))
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", "TU_API_KEY")
	req.Header.Set("Content-Type", "application/json")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status)
	fmt.Println(string(responseBody))
}
<?php
// PHP 8+ with the curl extension. Save as example.php and run: php example.php

$payload = ['extension' => '30s'];
$body = json_encode($payload);

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: TU_API_KEY',
        'Content-Type: application/json',
    ],
]);

$response = curl_exec($ch);
if ($response === false) {
    throw new Exception(curl_error($ch));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $response, "\n";
curl_close($ch);
# Python 3.8+. Install: pip install requests. Save as example.py and run: python example.py
import requests

headers = {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json",
}

payload = {"extension": "30s"}

response = requests.request(
    "POST",
    "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend",
    headers=headers,
    json=payload
)

print(response.status_code)
print(response.text)
// Node.js 18+. Save as example.mjs and run: node example.mjs
const payload = {"extension": "30s"};

const response = await fetch("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", {
  method: "POST",
  headers: {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});

console.log(response.status);
console.log(await response.text());
const payload = {"extension": "30s"};

const response = await fetch("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", {
  method: "POST",
  headers: {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});

console.log(response.status);
console.log(await response.text());
// Java 17+, standard library only. Save as Main.java and run: java Main.java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        var body = """
{
    "extension": "30s"
  }
""";

        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend"))
            .method("POST", HttpRequest.BodyPublishers.ofString(body))
            .header("X-API-Key", "TU_API_KEY")
            .header("Content-Type", "application/json")
            .build();

        var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

Ejemplo de Respuesta

1HTTP/1.1 200 OK
2Content-Type: application/json
1{
2  "id": "tarea-x1y2z3",
3  "lease_expires_at": "2025-06-21T12:02:31Z"
4}

Códigos de Error

Estado Código Descripción
400 validation_error Valor de extensión faltante o inválido
401 unauthorized Clave API faltante o inválida
404 not_found Scheduler o tarea no encontrados
409 conflict La tarea no está reservada o la concesión ya expiró
500 internal_error Error interno del servidor

Comentarios

Deja un comentario