in src/main/scala/com/gu/flexible/snapshotter/SchedulingLambda.scala [33:49]
def schedule(config: SchedulerConfig): Attempt[Seq[PublishResult]] = {
implicit val implicitConfig = config
log.info(s"$config")
val metadata = SnapshotMetadata("Scheduled snapshot")
for {
apiResult <- Retry(contentModifiedSince(fiveMinutesAgo), 2)
contentIds = parseContentIds(apiResult)
snapshotRequests = contentIds.map(SnapshotRequest(_, metadata))
} yield {
snapshotRequests.map { request =>
val serialisedRequest = serialise(request)
publish(config.snsTopicArn, serialisedRequest)
}
}
}