Vision General
La API de JobLog es para obtener registros de ejecucion de trabajos de Fess. Puede verificar el historial de ejecucion e informacion de errores de trabajos programados y de rastreo.
URL Base
/api/admin/joblog
Lista de Endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| GET | / | Obtener lista de registros de trabajos |
| GET | /{id} | Obtener detalles de registro de trabajo |
| DELETE | /{id} | Eliminar registro de trabajo |
| DELETE | /delete-all | Eliminar todos los registros de trabajos |
Obtener Lista de Registros de Trabajos
Solicitud
GET /api/admin/joblog
Parametros
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
size | Integer | No | Numero de elementos por pagina (predeterminado: 20) |
page | Integer | No | Numero de pagina (comienza en 0) |
status | String | No | Filtro de estado (ok/fail/running) |
from | String | No | Fecha/hora de inicio (formato ISO 8601) |
to | String | No | Fecha/hora de fin (formato ISO 8601) |
Respuesta
{
"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
}
}
Campos de Respuesta
| Campo | Descripcion |
|---|---|
id | ID del registro de trabajo |
jobName | Nombre del trabajo |
jobStatus | Estado del trabajo (ok/fail/running) |
target | Objetivo de ejecucion |
scriptType | Tipo de script |
scriptData | Script ejecutado |
scriptResult | Resultado de ejecucion |
startTime | Hora de inicio |
endTime | Hora de finalizacion |
executionTime | Tiempo de ejecucion (milisegundos) |
Obtener Detalles de Registro de Trabajo
Solicitud
GET /api/admin/joblog/{id}
Respuesta
{
"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
}
}
}
Eliminar Registro de Trabajo
Solicitud
DELETE /api/admin/joblog/{id}
Respuesta
{
"response": {
"status": 0,
"message": "Job log deleted successfully"
}
}
Eliminar Todos los Registros de Trabajos
Solicitud
DELETE /api/admin/joblog/delete-all
Parametros
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
before | String | No | Eliminar registros anteriores a esta fecha/hora (formato ISO 8601) |
status | String | No | Eliminar solo registros con estado especifico |
Respuesta
{
"response": {
"status": 0,
"message": "Job logs deleted successfully",
"deletedCount": 50
}
}
Ejemplos de Uso
Obtener Lista de Registros de Trabajos
curl -X GET "http://localhost:8080/api/admin/joblog?size=50&page=0" \
-H "Authorization: Bearer YOUR_TOKEN"
Obtener Solo Trabajos Fallidos
curl -X GET "http://localhost:8080/api/admin/joblog?status=fail" \
-H "Authorization: Bearer YOUR_TOKEN"
Registros de Trabajos de Periodo Especifico
curl -X GET "http://localhost:8080/api/admin/joblog?from=2025-01-01&to=2025-01-31" \
-H "Authorization: Bearer YOUR_TOKEN"
Obtener Detalles de Registro de Trabajo
curl -X GET "http://localhost:8080/api/admin/joblog/joblog_id_1" \
-H "Authorization: Bearer YOUR_TOKEN"
Eliminar Registros de Trabajos Antiguos
# Eliminar registros de mas de 30 dias
curl -X DELETE "http://localhost:8080/api/admin/joblog/delete-all?before=2024-12-30T00:00:00Z" \
-H "Authorization: Bearer YOUR_TOKEN"
Eliminar Solo Registros de Trabajos Fallidos
curl -X DELETE "http://localhost:8080/api/admin/joblog/delete-all?status=fail" \
-H "Authorization: Bearer YOUR_TOKEN"
Detectar Trabajos con Tiempo de Ejecucion Largo
# Extraer trabajos que tardaron mas de 1 hora
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}'
Calcular Tasa de Exito de Trabajos
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}'
Informacion de Referencia
Vision General de Admin API - Vision general de Admin API
API de Scheduler - API del programador
API de CrawlingInfo - API de informacion de rastreo
Registro de Trabajos - Guia de gestion de registros de trabajos