В Corda, как получить статус потока, если мой RPC-клиент отключается? - PullRequest
0 голосов
/ 19 сентября 2018

Я написал RPC-клиент, который подключается к моему узлу и запускает поток.Если мой RPC-клиент отключается до завершения потока, как я могу получить поток и проверить его состояние (например, завершился ли он)?

1 Ответ

0 голосов
/ 19 сентября 2018

Поток возвращает уникальный идентификатор при запуске.Если вы храните этот уникальный идентификатор где-то, вы можете использовать его позже, чтобы получить поток и проверить его состояние, например, напечатав текущий шаг отслеживания прогресса:

val flowId = cordaRPCOps.startFlowDynamic(MyFlow::class.java).id

val flow = cordaRPCOps.stateMachinesSnapshot().single { it.id == flowId }

val flowSteps = flow.progressTrackerStepAndUpdates!!

println(flowSteps.snapshot.last())
...