【问题标题】:Understanding Signal and Query in cadence了解有节奏的信号和查询
【发布时间】:2021-08-18 04:39:46
【问题描述】:

查询 - 查询是将这种内部状态暴露给外部世界。查询公开为由外部实体调用的异步回调。

异步回调是什么意思?

Doc 说,Query 有两个限制 1)。不应改变工作流 2) 的状态。不会有任何阻塞操作。

@Override
    public String queryGreeting() {
      greeting = "val";
      return greeting;
    }

但我确实在查询方法中改变了变量并且它正在改变值。

我们不应该在查询方法中编写可变或阻塞代码只是一种信念吗?

我没有看到查询和信号之间有任何区别。即使在工作流程完成后也会调用查询方法,而 Signal 不会?

我的理解正确吗?

【问题讨论】:

    标签: cadence-workflow uber-cadence


    【解决方案1】:

    查询不应改变工作流变量。这将破坏工作流恢复。

    信号可以改变任何工作流数据以及调用活动等阻塞操作。

    【讨论】:

    • 感谢您的回复!!对不起,我打错了。它是同步回调而不是异步。这是什么意思? (查询公开为同步回调)
    • 表示查询调用者阻塞,直到查询函数返回。
    猜你喜欢
    • 2016-10-05
    • 2012-05-13
    • 1970-01-01
    • 2020-12-18
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    相关资源
    最近更新 更多