我们需要构建一个编排框架,允许基于概念上看起来像这样的元数据动态触发 Talend 作业:
职位名称 | 依赖性 |
---|---|
工作1 | |
工作2 | 工作1 |
工作3 | 工作1 |
工作4 | 工作2,工作3 |
对于上面的例子,我们需要先执行Job1。然后,在 Job1 完成后,Job2 和 Job3 需要并行启动。最后,当 Job2 和 Job3 都完成后,Job4 需要开始。
为了实现这个框架,我需要一种方法来动态触发 Talend 作业,基于我从配置中提取的作业名称。到目前为止,我想到了两种选择,但都不理想:
在考虑这两个选项时,我是否遗漏了什么?还有其他选择吗?
非常感谢任何反馈!
我认为最好的选择是使用 metaservlet API,因为具有动态作业的 tRunJob 将要求您在每次添加新作业时更改作业。使用 Metaservlet API,您可以使用
getTaskIdByName
的组合来使用作业名称获取任务 ID,然后使用 runTask
启动它