def schedule()

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