UploadGradeDataJob.java
package edu.ucsb.cs156.courses.jobs;
import edu.ucsb.cs156.courses.repositories.GradeHistoryRepository;
import edu.ucsb.cs156.courses.services.GradeHistoryImportService;
import edu.ucsb.cs156.courses.services.jobs.JobContext;
import edu.ucsb.cs156.courses.services.jobs.JobContextConsumer;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
public class UploadGradeDataJob implements JobContextConsumer {
@Getter private GradeHistoryRepository gradeHistoryRepository;
@Getter private GradeHistoryImportService gradeHistoryImportService;
private static final int BATCH_SIZE = 1000;
@Override
public void accept(JobContext ctx) throws Exception {
ctx.log("Updating UCSB Grade History Data");
gradeHistoryImportService.importGradesFromUrl(
"https://raw.githubusercontent.com/dailynexusdata/grades-data/refs/heads/main/courseGrades.csv",
ctx,
BATCH_SIZE);
ctx.log("Finished updating UCSB Grade History Data");
}
}