【问题标题】:How can I get 2 triggers to work in a row?如何让 2 个触发器连续工作?
【发布时间】:2019-02-01 15:07:41
【问题描述】:

在 Harmonize 流创建 DHF 实体文档后,我想触发一个新的 Harmonize 流来更新相关实体的三元组。我使用触发器来启动两个 Harmonize 流程,但我无法让两者同时工作。

如果仅启用第一个触发器,则第一个 Harmonize 流运行良好。如果仅启用第二个触发器,则此流程运行良好。如果启用了两个触发器,则不会创建统一文档。

当一个文档被添加到一个名为“输入”的集合中时,会触发第一个和声流。协调流程在集合“实体”中创建一个实体文档。第二个触发器将从添加到“实体”集合中的文档开始。

两个触发器都是提交后的,因为我需要来自要保存的文档的数据。

【问题讨论】:

    标签: marklogic marklogic-dhf


    【解决方案1】:

    您的错误日志说明了什么?应该有触发器运行及其输出的记录。

    一般来说,我建议不要依赖以这种方式分层的触发器来运行顺序协调流。

    听起来您想要进行单步摄取(此处示例:https://github.com/marklogic/marklogic-data-hub/tree/4.x-develop/examples/single-step-ingest),然后在最终数据库中提交实体后,启动新的协调流程以添加三元组。听起来它会到达您需要去的地方。

    【讨论】:

    • 日志中没有任何内容(没有错误,还有我为测试目的添加的其他日志语句)。看起来整个事务都回滚了,包括来自第一个协调流的事务。我将进一步研究单步摄取代码,看看我们是否可以将它与 DHF 3 一起使用。至少这将使我们免于使用 2 个触发器之一。
    猜你喜欢
    • 2014-10-05
    • 2015-09-30
    • 2017-06-12
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多