Overview
Every scheduled job on the platform is instrumented to record its execution in JobExecutionLogEntity. Admins can view the full history, filter by job name and status, and investigate failures. Logs older than 30 days are automatically purged.
Scheduled Jobs Reference
| Job Name | Schedule | Purpose |
|---|
member-auto-reinstate | Daily 01:00 UTC | Auto-reinstate expired suspensions |
poll-auto-close | Daily 00:30 UTC | Close expired polls |
peer-badge-award | Hourly | Award peer badges (≥3 nominations) |
rank-recalculation | Daily 02:00 UTC | Recalculate member ranks |
season-reset | Jan 1 00:05 UTC | Archive RP + reset seasonal scores |
season-reset-reminder | Dec 25 12:00 UTC | Notify members of upcoming season end |
job-execution-cleanup | Daily 03:00 UTC | Delete logs older than 30 days |
gdpr-purge | Daily 04:00 UTC | Delete PII for soft-deleted users |
Workflow
Step-by-Step: View Job Execution History
- Navigate to Admin → Job Logs (
/admin/jobs).
- The paginated list shows all job executions, newest first.
- Use the filter to narrow by:
- Job Name (e.g.,
rank-recalculation)
- Status (RUNNING / SUCCESS / FAILURE)
- Each row shows: job name, status, start time, duration, rows affected.
- Click a row to see the full log entry including error message and trace ID.
Step-by-Step: Investigate a Failure
- Filter by Status: FAILURE.
- Click the failed job entry.
- Read the error message and stack trace.
- Note the traceId — use it to search application logs (Grafana Loki) for the correlated log lines.
Application Properties
| Scheduler | Schedule | Lock | Description |
|---|
JobExecutionLogCleanupScheduler | Daily 03:00 UTC | job-execution-cleanup | Deletes logs older than 30 days |
Security Notes
- ADMIN only for all job log endpoints.
- Logs are append-only — cannot be modified or deleted via API (only by the cleanup scheduler).
traceId in each log entry links to distributed traces in Jaeger / Grafana Tempo for full context.
QA Checklist