def from()

in app/model/Queue.scala [13:22]


  def from(url: String)(implicit conn: AmazonConnection, context: ExecutionContext): Future[Queue] = {
    val name = url.split("/").last
    for{
      stats <- AWS.futureOf(conn.cloudWatch.getMetricStatisticsAsync, new GetMetricStatisticsRequest()
        .withDimensions(new Dimension().withName("QueueName").withValue(name))
        .withMetricName("ApproximateNumberOfMessagesVisible").withNamespace("AWS/SQS").withPeriod(60).withStatistics("Average")
        .withStartTime(DateTime.now().minusHours(3).toDate).withEndTime(DateTime.now().toDate)
      )
    } yield Queue(name, url, stats.getDatapoints.asScala.toSeq.sortBy(_.getTimestamp))
  }