如何在一段时间后使informatica中的计时器任务成功完成

问题描述 投票:0回答:1

我很好奇如何使计时器任务的状态更改为成功?我有很多会话,其中有些会话是串联连接的,有些是并行...在每个会话成功运行之后,计时器任务的状态仍显示为正在运行...如何使它也成功更改...条件是,如果工作流在分配的20分钟以下完成,计时器任务必须更改为成功,但是如果超过20分钟,则应向指定用户发送电子邮件并中止工作流.....

enter image description here

Unix:

 if[[ $Event_Exceed20min > 20 AND $EVent_Exceed20min.Status = Running ]]
    pmcmd stopworkflow -service informatica-integration-Service -d domain-name - u user-name -p password -f folder-name -w workflow-name
    $Event_Exceed20min.Status = SUCCEEDED
 fi
informatica
1个回答
0
投票

您可以使用UNIX脚本执行此操作。我看不到只有Informatica才能做到这一点。您可以创建一个脚本,该脚本将使用pmcmd启动informatica,继续轮询状态。

  1. 启动流程并启动计时器
  2. 开始检查状态
  3. 如果计时器时间> 1200秒,则中止并发送邮件,否则继续轮询

在下面剪下代码...

#!/bin/bash

wf=$1
sess=$2
mailids="[email protected],[email protected]"
log="~/log/"$wf"log.txt"

echo "Start Workflow..."> $log
pmcmd  startworkflow -sv service -d domain -u username -p password  -f "FolderName" $wf

#Timer starts, works only in BASH
start=$SECONDS

while :
do
    #Check Timer, if >20min abort the flow.
    end=$SECONDS
    duration=$(( end - start ))
    if [ $duration -gt 1200 ]; then
    pmcmd stopworkflow -sv service -d domain -u username -p password -f prd_CLAIMS  -w  $wf
    STAT=$?
    #Error check if not aborted
    mailx -s "Workflow took >20min so aborted" $mailids
    fi

    pmcmd getsessionstatistics -sv service -d domain -u username -p password  -f prd_CLAIMS -w  $wf $sess > ~/log/tmp.txt
    STAT=$?
    if [ "$STAT" != 0 ]; then
    echo "Staus check failed" >> $log
    fi
    echo $(grep "[Succeeded] " ~/log/tmp.txt| wc -l) > ~/log/tmp2.txt
    STAT=$?
    if [ -s ~/log/tmp2.txt ]; then
    echo "Workflow Succeeded...">> $log
    exit
    fi
    sleep 30
done

echo "End Workflow...">> $log
© www.soinside.com 2019 - 2024. All rights reserved.