def runHouseKeeping()

in app/housekeeping/DeleteLongRunningEC2Instances.scala [37:66]


  def runHouseKeeping(earliestStartedAt: DateTime): Unit = {

    val instancesToTerminate = getRunningPackerInstancesLaunchedBefore(
      earliestStartedAt
    )

    if (instancesToTerminate.isEmpty) {
      log.info("no instances found to terminate")
    } else {
      log.warn(
        s"instances found to terminate that were launched before $earliestStartedAt: " +
          s"${instancesToTerminate.map(_.getInstanceId).mkString(",")}"
      )

      instancesToTerminate.foreach { instance =>
        log.info(s"terminating instance ${instance.getInstanceId}")
        packerEC2Client.terminateEC2Instance(instance.getInstanceId)

        getBakeIdFromInstance(instance) match {
          case None =>
            log.warn(
              s"unable to get bake id for instance ${instance.getInstanceId}"
            )
          case Some(id) =>
            log.info(s"updating status of $id to timed out")
            bakesRepo.updateStatusToTimedOutIfRunning(id)
        }
      }
    }
  }