Есть ли способ сохранить возвращаемое значение потока и отправить его в качестве параметра для следующего перезапуска источника? этот вопрос о том, как сохранить состояния в потоках akka.
Я читаю большой файл с удаленного сервера, используя akka http get single request, и моя цель:
перезапускать источник при каждом сбое удаленного сервера.
сохраните состояние в потоке (сохраните последний успешный байт, который поток успешно использовал) и отправьте его источнику при перезапуске.
Это мой код для перезапуска источника:
Я хотел бы вызвать sendGetRequest с состоянием, которое я сохранил в parseAndIngestLargeFile (x)
RestartSource.withBackoff(minBackoff = 1 second, maxBackoff = 30 seconds,randomFactor = 0.2) { () =>
Source.single(sendGetRequest())
//send gakka http single request get to a remote server
.map(x => {parseAndIngestLargeFile(x)})
.map(connection => println(“Failed to connect to go server, going to retry get request…” + connection))
}
.runWith(Sink.ignore)
как это сделать?