in app/com/gu/floodgate/reindex/ProgressTracker.scala [122:167]
private def actOnProgress(progress: Progress, contentSource: ContentSource, runningJob: RunningJob) = {
progress.status match {
case Completed =>
val runningJobUpdate = RunningJob(
runningJob.contentSourceId,
runningJob.contentSourceEnvironment,
progress.documentsIndexed,
progress.documentsExpected,
runningJob.startTime,
runningJob.rangeFrom,
runningJob.rangeTo
)
completeProgressTracking(Completed, contentSource, runningJobUpdate)
case Failed => {
logger.warn(s"Failing reindex after failed progress update from content source: " +
s"Documents expected: ${progress.documentsExpected}, " +
s"Documents indexed: ${progress.documentsIndexed}," +
s"Status: ${progress.status}")
completeProgressTracking(Failed, contentSource, runningJob)
}
case InProgress =>
val runningJobUpdate = RunningJob(
runningJob.contentSourceId,
runningJob.contentSourceEnvironment,
progress.documentsIndexed,
progress.documentsExpected,
runningJob.startTime,
runningJob.rangeFrom,
runningJob.rangeTo
)
runningJobService.updateRunningJob(
runningJob.contentSourceId,
runningJob.contentSourceEnvironment,
runningJobUpdate
)
scheduleNextUpdate(contentSource, runningJob)
case _ =>
logger.warn(
s"Incorrect status sent from client: ${progress.status.toString} for content source: ${contentSource.id}"
)
}
}