API JobLog

Vue d’ensemble

L’API JobLog permet d’obtenir les journaux d’execution des taches de Fess. Vous pouvez consulter l’historique d’execution des taches planifiees et des taches de crawl, les informations d’erreur, etc.

URL de base

/api/admin/joblog

Liste des endpoints

Methode Chemin Description
GET / Obtention de la liste des journaux de taches
GET /{id} Obtention des details d’un journal de tache
DELETE /{id} Suppression d’un journal de tache
DELETE /delete-all Suppression de tous les journaux de taches

Obtention de la liste des journaux de taches

Requete

GET /api/admin/joblog

Parametres

Reponse

{
  "response": {
    "status": 0,
    "logs": [
      {
        "id": "joblog_id_1",
        "jobName": "Default Crawler",
        "jobStatus": "ok",
        "target": "all",
        "scriptType": "groovy",
        "scriptData": "return container.getComponent(\"crawlJob\").execute();",
        "scriptResult": "Job completed successfully",
        "startTime": "2025-01-29T02:00:00Z",
        "endTime": "2025-01-29T02:45:23Z",
        "executionTime": 2723000
      },
      {
        "id": "joblog_id_2",
        "jobName": "Default Crawler",
        "jobStatus": "fail",
        "target": "all",
        "scriptType": "groovy",
        "scriptData": "return container.getComponent(\"crawlJob\").execute();",
        "scriptResult": "Error: Connection timeout",
        "startTime": "2025-01-28T02:00:00Z",
        "endTime": "2025-01-28T02:10:15Z",
        "executionTime": 615000
      }
    ],
    "total": 100
  }
}

Champs de la reponse

Champ Description
id ID du journal de tache
jobName Nom de la tache
jobStatus Statut de la tache (ok/fail/running)
target Cible d’execution
scriptType Type de script
scriptData Script execute
scriptResult Resultat de l’execution
startTime Heure de debut
endTime Heure de fin
executionTime Temps d’execution (millisecondes)

Obtention des details d’un journal de tache

Requete

GET /api/admin/joblog/{id}

Reponse

{
  "response": {
    "status": 0,
    "log": {
      "id": "joblog_id_1",
      "jobName": "Default Crawler",
      "jobStatus": "ok",
      "target": "all",
      "scriptType": "groovy",
      "scriptData": "return container.getComponent(\"crawlJob\").execute();",
      "scriptResult": "Crawl completed successfully.\nDocuments indexed: 1234\nDocuments updated: 567\nDocuments deleted: 12\nErrors: 0",
      "startTime": "2025-01-29T02:00:00Z",
      "endTime": "2025-01-29T02:45:23Z",
      "executionTime": 2723000
    }
  }
}

Suppression d’un journal de tache

Requete

DELETE /api/admin/joblog/{id}

Reponse

{
  "response": {
    "status": 0,
    "message": "Job log deleted successfully"
  }
}

Suppression de tous les journaux de taches

Requete

DELETE /api/admin/joblog/delete-all

Parametres

Reponse

{
  "response": {
    "status": 0,
    "message": "Job logs deleted successfully",
    "deletedCount": 50
  }
}

Exemples d’utilisation

Obtention de la liste des journaux de taches

curl -X GET "http://localhost:8080/api/admin/joblog?size=50&page=0" \
     -H "Authorization: Bearer YOUR_TOKEN"

Obtention des taches echouees uniquement

curl -X GET "http://localhost:8080/api/admin/joblog?status=fail" \
     -H "Authorization: Bearer YOUR_TOKEN"

Journaux de taches pour une periode specifique

curl -X GET "http://localhost:8080/api/admin/joblog?from=2025-01-01&to=2025-01-31" \
     -H "Authorization: Bearer YOUR_TOKEN"

Obtention des details d’un journal de tache

curl -X GET "http://localhost:8080/api/admin/joblog/joblog_id_1" \
     -H "Authorization: Bearer YOUR_TOKEN"

Suppression des anciens journaux de taches

# Supprimer les journaux de plus de 30 jours
curl -X DELETE "http://localhost:8080/api/admin/joblog/delete-all?before=2024-12-30T00:00:00Z" \
     -H "Authorization: Bearer YOUR_TOKEN"

Suppression des journaux de taches echouees uniquement

curl -X DELETE "http://localhost:8080/api/admin/joblog/delete-all?status=fail" \
     -H "Authorization: Bearer YOUR_TOKEN"

Detection des taches longues

# Extraire les taches ayant dure plus d'une heure
curl -X GET "http://localhost:8080/api/admin/joblog?size=1000" \
     -H "Authorization: Bearer YOUR_TOKEN" | \
     jq '.response.logs[] | select(.executionTime > 3600000) | {jobName, startTime, executionTime}'

Calcul du taux de succes des taches

curl -X GET "http://localhost:8080/api/admin/joblog?size=1000" \
     -H "Authorization: Bearer YOUR_TOKEN" | \
     jq '.response.logs | {total: length, ok: [.[] | select(.jobStatus=="ok")] | length, fail: [.[] | select(.jobStatus=="fail")] | length}'

Informations complementaires