in app/services/PrismData.scala [80:118]
def copiedImages(sourceAmiIds: Set[AmiId]): Map[AmiId, Seq[Image]] =
dataToResult(copiedImagesAgent.get, DateTime.now).view
.filterKeys(sourceAmiIds.contains)
.toMap
def accounts: Seq[AWSAccount] = dataToResult(accountsAgent.get, DateTime.now)
if (environment.mode != Mode.Test) {
val prismDataSchedule: Cancellable =
scheduler.scheduleWithFixedDelay(0.seconds, 1.minutes) { () =>
{
log.debug(s"Refreshing Prism data")
refresh(prism.findAllInstances(), instancesAgent, "instances")(
identity
)
refresh(
prism.findAllLaunchConfigurations(),
launchConfigurationsAgent,
"launch configuration"
)(identity)
refresh(
prism.findAllLaunchTemplates(),
launchTemplatesAgent,
"launch template"
)(identity)
refresh(prism.findCopiedImages(), copiedImagesAgent, "copied image")(
_.groupBy(_.copiedFromAMI)
)
refresh(prism.findAllAWSAccounts(), accountsAgent, "aws accounts")(
identity
)
}
}
lifecycle.addStopHook { () =>
prismDataSchedule.cancel()
Future.successful(())
}
}