0
我用akka-streams api編寫了一個簡單的流,假設它會處理我的源,但不幸的是它不。我確信我在源頭上做錯了什麼。我只是簡單地創建了一個迭代器,它產生了大量的元素,假設它不重要,因爲akka流api將負責背壓。我做錯了什麼,這是我的迭代器。在阿卡流中沒有正確處理背壓
def createData(args: Array[String]): Iterator[TimeSeriesValue] = {
var data = new ListBuffer[TimeSeriesValue]()
for (i <- 1 to range) {
sessionId = UUID.randomUUID()
for (j <- 1 to countersPerSession) {
time = DateTime.now()
keyName = s"Encoder-${sessionId.toString}-Controller.CaptureFrameCount.$j"
for (k <- 1 to snapShotCount) {
time = time.plusSeconds(2)
fValue = new Random().nextLong()
data += TimeSeriesValue(sessionId, keyName, time, fValue)
totalRows += 1
}
}
}
data.iterator
}
嗨拉蒙,非常感謝迴應。非常有幫助。我完全不瞭解您的代碼,但非常優雅的東西,併爲我工作。我如何成爲斯卡拉風格思維方面的專家,我很難在不可變的異步和功能方面進行思考。任何首選的閱讀或練習? – Lahiru
@Lahiru歡迎您。對於scala/fp的介紹,我絕對推薦coursera課程:https://www.coursera.org/course/progfun。該會話現在不活躍,但我相信你仍然可以觀看視頻。快樂的黑客! –
@Lahiru「scala中的函數式編程」書籍非常好讓你在FP風格中思考,並且具有良好的學習曲線。 – jlr