corda - 查询活动/住院corda-flows的状态
问题描述
我有一个MyFlow
通过 RPC 调用特定的流args
,创建一个 tx 将其中的一些args
置于输出状态,然后调用subFlow(FinalityFlow(...))
。我觉得挺标准的。RPC 客户端可能会同时调用一堆这些流。现在,如果公证人或接收节点出现故障,MyFlow
可能会被挂起并重试。
我现在想做的是向用户/节点操作员查询/报告有关哪些事务当前“待定”的信息,即正在重试。理想情况下,我想提取 tx-id 和args
未完成实例的MyFlow
. 我似乎无法使用ProgressTracker
,因为它Steps
需要预先定义(即在 Flow-constructor 中,我还不知道 tx-id ),而且label
-String 似乎并不好结构化数据的载体。AuditService
看起来像一个很好的候选人,因为它可以访问 steps extraAuditData
,但它似乎只有无操作的DummyAuditService
实现,我不能在不改变的情况下挂钩自定义实现AbstractNode.kt
(或者我可以吗?)。
有什么想法可以实现吗?
解决方案
您可以使用flow watch
.
检索有关在节点上运行的流的信息需要检索内部信息。这不是开发人员可以在没有破解corda的情况下做的事情。
使用某些东西可能会起作用,stateMachineRecordedTransactionMappingFeed
或者stateMachinesFeed
您可以实现的目标将受到限制。
未来可能会在 Corda 中添加围绕运行流程和住院流程的进一步工具。
推荐阅读
- oracle - Oracle Unusable Index 会减慢性能吗?
- docker - 在容器内写入文件时 Docker 权限被拒绝
- android - 从 URL 播放音频文件时出错
- javascript - Websocket 和自签名 SSL 证书有什么问题
- python - 如何将由时间、周和闰秒组成的 GPS 时间转换为 UTC 时间戳
- javascript - 如何编写更好的 JS 函数 - 带标签框的输入单选
- reporting-services - 用于 KPI 的 SSRS 数据集,多重计算
- unicode - 将破坏 OLAP 多维数据集的字符列表
- python - 如何使用 zeep 在 App Engine 上禁用对 Adwords API 的缓存?
- python - 将 AWS S3 连接到 Databricks PySpark