Overview
Add scheduled jobs for sabermetrics and OAA data sync, plus documentation for gWAR methodology.
Parent Issue
Part of #94 (WAR and Advanced Stats)
Scheduler Jobs
Daily Sabermetrics Sync
@Scheduled(cron = "0 30 6 * * *") // 6:30 AM daily
public void dailySabermetricsSync() {
// Run after basic stats sync (6 AM)
sabermetricsIngestionService.syncAllPlayerSabermetrics(season);
}
Weekly OAA Sync
@Scheduled(cron = "0 0 7 * * SUN") // Sunday 7 AM
public void weeklyOaaSync() {
// OAA updates less frequently
oaaIngestionService.syncOaaForSeason(season);
}
Files to Modify
ingestion/scheduler/IngestionScheduler.java
Add scheduled methods for:
- Daily sabermetrics sync
- Weekly OAA sync
ingestion/service/IngestionOrchestrator.java
Add tracked sync methods:
runTrackedSabermetricsSync()
runTrackedOaaSync()
Documentation
docs/GWAR_METHODOLOGY.md
Document:
- gWAR formula and components
- Data sources (MLB API, Baseball Savant)
- Comparison to fWAR/bWAR
- Limitations and caveats
- Update frequency
API Documentation
Update Swagger/OpenAPI annotations with:
- gWAR endpoint descriptions
- Component explanations
- Links to methodology doc
Admin UI
Add to admin panel:
- Manual trigger for sabermetrics sync
- Manual trigger for OAA sync
- Display last sync timestamps
Acceptance Criteria
Dependencies
Overview
Add scheduled jobs for sabermetrics and OAA data sync, plus documentation for gWAR methodology.
Parent Issue
Part of #94 (WAR and Advanced Stats)
Scheduler Jobs
Daily Sabermetrics Sync
Weekly OAA Sync
Files to Modify
ingestion/scheduler/IngestionScheduler.javaAdd scheduled methods for:
ingestion/service/IngestionOrchestrator.javaAdd tracked sync methods:
runTrackedSabermetricsSync()runTrackedOaaSync()Documentation
docs/GWAR_METHODOLOGY.mdDocument:
API Documentation
Update Swagger/OpenAPI annotations with:
Admin UI
Add to admin panel:
Acceptance Criteria
Dependencies