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
| Parametre | Type | Requis | Description |
|---|---|---|---|
size | Integer | Non | Nombre d’elements par page (par defaut : 20) |
page | Integer | Non | Numero de page (commence a 0) |
status | String | Non | Filtre par statut (ok/fail/running) |
from | String | Non | Date/heure de debut (format ISO 8601) |
to | String | Non | Date/heure de fin (format ISO 8601) |
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
| Parametre | Type | Requis | Description |
|---|---|---|---|
before | String | Non | Supprimer les journaux anterieurs a cette date/heure (format ISO 8601) |
status | String | Non | Supprimer uniquement les journaux avec ce statut |
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
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
API Scheduler - API du planificateur
API CrawlingInfo - API des informations de crawl
Journal des tâches - Guide de gestion des journaux de taches