我们有两个并行运行的Informatica作业。
其中一个工作流从11.40 CET开始,包含大约300个Informatica工作流,其中一个工作流是fact_sales。
另一个作业在3.40 CET运行,其中有大约115个工作流,其中许多工作流在数据一致性方面依赖于fact_sales。
问题是fact_sales应该在过程2中的某些工作流开始之前完成,以使数据准确,但通常不会发生这种情况。
我们尝试做的是以这样一种方式拆分流程2,即fact_sales相关工作流仅在fact_sales完成后运行。
你能提供我一种方法去写一个unix shell脚本,检查这个事实_sales的状态,如果它成功,然后启动其他相关的工作流,如果没有,那么它应该发送一个失败的邮件。谢谢
5条答案
按热度按时间twh00eeo1#
我不认为需要为此编写一个自定义shell脚本。大多数这是相当标准/常见的功能,可以使用命令任务和事件等待来实现。
所有相关进程都将有一个等待此.done文件的事件等待。由于存在多个相关工作流,请确保它们都不会立即删除此文件。您可以在一天结束时或第二天开始加载时删除此.done文件。
omvjsjqw2#
第二种方法如下:
您必须运行某种类型的调度程序才能启动这些工作流。由于Informatica无法调度一组工作流中的多个工作流,因此它只能处理该依赖关系管理级别的worklet/会话。
在计划程序中,创建销售情况装入工作流与其它相关工作流之间的相关性。
drnojrws3#
我认为下面提到的脚本将为您工作。请修改参数。
9vw9lbht4#
您可以使用REP_SESS_LOG等表从资料档案库数据库中触发查询,并检查事实销售的状态是否成功。然后,只有您可以继续执行第二个作业。