private def actOnProgress()

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}"
        )
    }
  }