Как заставить задачу таймера в Informatica успешно после длительности - PullRequest
0 голосов
/ 17 февраля 2020

Мне любопытно, как сделать так, чтобы состояние задачи таймера изменялось для успешного выполнения? У меня есть много сессий, при которых некоторые из них соединены последовательно, а некоторые - параллельно ... После успешного выполнения каждого сеанса состояние задачи таймера все еще показывает выполнение ... Как мне сделать так, чтобы она также менялась, чтобы успешно ... Условие состоит в том, что если рабочий процесс заканчивается ниже выделенного времени 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

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете использовать UNIX скрипт для этого. Я не вижу, чтобы одна только informatica могла это сделать.
Вы можете создать скрипт, который будет запускать информацию, используя pmcmd,
, продолжая опрашивать статус.

  1. сбросить таймер потока и запуска
  2. начать проверку статуса
  3. если таймер уходит> 1200 секунд, отмена и отправка почты, в противном случае продолжить опрос

Код показан ниже ...

#!/bin/bash

wf=$1
sess=$2
mailids="xyz@abc.com,abc@goog.com"
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...