【问题标题】:uber cadence :: want to store an object inside a workflowuber cadence :: 想要在工作流中存储一个对象
【发布时间】:2020-06-30 05:37:27
【问题描述】:

想在工作流中存储一个对象,然后想通过 cadence api 接收它。

ListOpenWorkflowExecutionsRequest listOpenWorkflowExecutionsRequest=new ListOpenWorkflowExecutionsRequest();
listOpenWorkflowExecutionsRequest.setDomain(DOMAIN);
listOpenWorkflowExecutionsRequest.setStartTimeFilter(startTimeFilter);
ListOpenWorkflowExecutionsResponse response=
        cadenceService.ListOpenWorkflowExecutions(listOpenWorkflowExecutionsRequest);*

我愿意接受任何解决方案。

【问题讨论】:

    标签: uber-api cadence-workflow temporal-workflow


    【解决方案1】:

    使用QueryWorkflowExecution API 从单个工作流中检索信息。

    list API 用于获取工作流列表,而无需直接查询它们。您可以将自定义信息(称为备忘录)附加到列表 API 返回的可见性记录。使用WorkflowOptions.memo 属性添加它。

    备忘录不可索引。如果您希望能够对自定义属性进行索引,请使用 Search Attributes 功能。搜索属性的另一个特性是它们可以使用upsertSearchAttributes API 从工作流代码更新。因此,例如,如果工作流代码在每个状态转换时更新“状态”属性,那么就有可能找到处于给定状态的所有工作流。此外,所有搜索属性都由列表 API 返回,因此即使它们不是搜索谓词的一部分,它们的值也可以显示在 UI 列表视图中。请注意,这需要启用 Elastic Search 集群集成。

    【讨论】:

    • 谢谢,但我正在查询工作流的内部状态。例如,我的工作流程中的状态 isApproved 或 isPending 不是 cadence 工作流程的一部分。我可以通过 @QueryMethod 调用单个工作流来获取它们,我想避免这种情况,因为它会影响性能,因为在我的情况下我必须返回一个列表。
    • 已更新搜索属性信息
    猜你喜欢
    • 1970-01-01
    • 2019-09-14
    • 2021-01-03
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2011-02-14
    相关资源
    最近更新 更多