вы можете обойти отдельные части потока по своему усмотрению, вы можете даже обойти весь граф executetabe (это неизменяемые).Вызов run () материализует поток, но не меняет ваш граф или его части.
1) Поскольку вы хотите знать, когда HttpDownload прошел поток, почему бы не использовать полные графы Future [Done]?Предполагая, что ваш вызовasticsearch является асинхронным, это должно быть равным, так как ваш приемник просто выполняет вызов и не ждет.Вы также можете использовать Source.queue (https://doc.akka.io/docs/akka/2.5/stream/operators/Source/queue.html)) и просто добавить свои сообщения в очередь, которая затем повторно использует определенный граф, чтобы вы могли добавлять новые сообщения, когда требуется обработка. Этот также материализует SourceQueueWithComplete, позволяя вам остановитьпоток. Кроме того, повторно используйте приемник везде, где это необходимо, без необходимости ожидания другого потока, использующего его.
2) Как описано выше: нет, вам не нужно создавать экземпляр приемника несколько раз.
С наилучшими пожеланиями, Анди