in app/housekeeping/BakeDeletion.scala [28:58]
def housekeep(): Unit = {
log.info(s"Started bake deletion housekeeping")
// get some bakes that have been deleted
try {
val deletedBakes = Bakes.findDeleted()
if (deletedBakes.nonEmpty) {
log.info(s"Found ${deletedBakes.size} bakes to delete")
}
// delete any AMIs
val amis = deletedBakes.flatMap(_.amiId)
val allAmis = RecipeUsage.allAmis(amis, amigoAwsAccount)
notificationSender.sendHousekeepingTopicMessage(allAmis)
// delete the logs and bakes
deletedBakes.foreach { bake =>
val bakeId = BakeId(bake.recipeId, bake.buildNumber)
log.info(s"Deleting $bakeId")
BakeLogs.delete(bakeId)
Bakes.deleteById(bakeId)
// avoid overwhelming the DB by pausing briefly before the next one
Thread.sleep(2000)
}
} catch {
case e: Exception =>
log.error(s"Error raised during bake deletion housekeeping", e)
}
}