Gradle 计划| |自动化MarkLogic数据中心流/自定义步骤的最佳方法

Gradle 计划| |自动化MarkLogic数据中心流/自定义步骤的最佳方法,gradle,marklogic,orchestrate,Gradle,Marklogic,Orchestrate,我使用DMSDK摄取数据;我有多个自定义流来运行以下数据摄取。与逐个手动运行流不同,编排MarkLogic数据集线器流的最佳方法是什么? gradle、trigger或其他调度工具?当然,有各种各样的答案可以解决问题;我更喜欢NiFi。这使得任何调度开销都不在MarkLogic范围内,同时需要权衡运行NiFi 当然,有各种各样的答案会起作用;我更喜欢NiFi。这使得任何调度开销都不在MarkLogic范围内,同时需要权衡运行NiFi 我同意Dave Cassel的观点,NiFi,或者像MuleS

我使用DMSDK摄取数据;我有多个自定义流来运行以下数据摄取。与逐个手动运行流不同,编排MarkLogic数据集线器流的最佳方法是什么?
gradle、trigger或其他调度工具?

当然,有各种各样的答案可以解决问题;我更喜欢NiFi。这使得任何调度开销都不在MarkLogic范围内,同时需要权衡运行NiFi

当然,有各种各样的答案会起作用;我更喜欢NiFi。这使得任何调度开销都不在MarkLogic范围内,同时需要权衡运行NiFi

我同意Dave Cassel的观点,NiFi,或者像MuleSoft这样的东西,或者甚至是Camel,都是管理流运行的好方法。特别是当你谈论运营管理时

关于其他机制的答复:

  • Crontab未连接到MarkLogic本身。您必须编写脚本或代码才能使某些事情真正发生。您也不会有太多的控制权,也不会有日志记录,除非您也添加了它
  • 我们有很棒的Gradle插件,可以让运行流变得非常简单。在开发等过程中非常好,但可能不太适合调度或操作任务
  • MarkLogic内部的触发器只对数据的插入做出响应,所以您仍然必须从外部启动更新
  • MarkLogic中的计划任务具有与Crontab和Gradle类似的限制。它本身没什么作用,所以无论如何你都得写代码。它本身不提供日志记录,也不提供操作管理任务的方法,除了通过AdminUI
  • JAR包可能取决于您实际所指的JAR包。您可以为您的ml gradle项目创建一个JAR,但这并不能给您带来比调用gradle本身更多的好处
就我个人而言,我会仔细研究运营需求。例如:需要获取状态概览、中断计划、失败时重试的循环、内置日志记录,以及需要注意时发送通知的功能


我同意Dave Cassel的观点,NiFi,或者像MuleSoft这样的东西,或者甚至是Camel,都是管理流运行的好方法。特别是当你谈论运营管理时

关于其他机制的答复:

  • Crontab未连接到MarkLogic本身。您必须编写脚本或代码才能使某些事情真正发生。您也不会有太多的控制权,也不会有日志记录,除非您也添加了它
  • 我们有很棒的Gradle插件,可以让运行流变得非常简单。在开发等过程中非常好,但可能不太适合调度或操作任务
  • MarkLogic内部的触发器只对数据的插入做出响应,所以您仍然必须从外部启动更新
  • MarkLogic中的计划任务具有与Crontab和Gradle类似的限制。它本身没什么作用,所以无论如何你都得写代码。它本身不提供日志记录,也不提供操作管理任务的方法,除了通过AdminUI
  • JAR包可能取决于您实际所指的JAR包。您可以为您的ml gradle项目创建一个JAR,但这并不能给您带来比调用gradle本身更多的好处
就我个人而言,我会仔细研究运营需求。例如:需要获取状态概览、中断计划、失败时重试的循环、内置日志记录,以及需要注意时发送通知的功能


根据您的经验,其他选项是否有效?crontab、gradle、JAR包或ML计划任务(我不喜欢)?请详细说明。我来这里是为了回应@grtjn的精彩回应。要添加--计划任务也是易变数据--如果服务器因任何原因重新启动,任务队列上的任务将丢失。当NiFi重新启动时,它会从停止的地方恢复。根据您的经验,其他选项是否工作良好?crontab、gradle、JAR包或ML计划任务(我不喜欢)?请详细说明。我来这里是为了回应@grtjn的精彩回应。要添加--计划任务也是易变数据--如果服务器因任何原因重新启动,任务队列上的任务将丢失。当NiFi重新启动时,它会从停止的地方恢复。谢谢!从操作角度来看:1)control-M可以调度/监控几乎所有的作业流或任务,并控制作业依赖性……等等。这是一种典型的生产方法2)JAR包是我正在研究的新方法。因为它可能以最少的脚本编写工作协调所有与MarkLogic和Gradle相关的事件/任务,这说明DMSDK在Gradle之外。3)如果Nifi能够以非常稳定的方式安排/监视事件驱动和时间驱动的任务,我也可以考虑。我主要使用NIFI来执行时间驱动的任务。您可以将其设置为检查是否发生了新情况(例如,点击REST端点,如果得到有趣的响应则继续;否则停止)。您还可以通过其RESTAPI与NiFi对话,以便其他服务可以告诉NiFi开始处理。谢谢!从操作角度来看:1)control-M可以调度/监控几乎所有的作业流或任务,并控制作业依赖性……等等。这是一种典型的生产方法2)JAR包是我正在研究的新方法。因为它可能以最少的脚本编写工作协调所有与MarkLogic和Gradle相关的事件/任务,这说明DMSDK在Gradle之外。3)如果Nifi能够以非常稳定的方式安排/监视事件驱动和时间驱动的任务,我也可以考虑。我主要使用NIFI来执行时间驱动的任务。您可以将其设置为检查是否发生了新的条件(例如,命中REST端点,并在得到新的条件时继续)