我的意图是仅在连续x次失败后发送失败的电子邮件通知。目前,我的CA自动后处理脚本为每个失败发送一个失败通知,但我有一个用例,在这个用例中,只有在连续3次失败的情况下,我们才必须发送电子邮件失败通知。
基本上,我尝试保存最后3次运行的信息,然后基于use if条件在连续3次失败后触发警报,但无法这样做。
下面是我的后处理脚本,我试过了,但不起作用(弄坏了我的头)。
在这方面的任何帮助都是非常感谢的。
:print &usedhost#
:SET &RUNNR# = SYS_ACT_ME_NR()
:SET &STATUS# = GET_UC_OBJECT_STATUS(JOBS,&RUNNR#)
:print &STATUS#
:IF &STATUS# = '1900' or 'ENDED_OK'
:SET &STATUS# = 'ENDED_OK'
:ELSE
:SET &STATUS# = 'ENDED_NOTOK'
:SET &DUMMYSTATUS# = 'ENDED_OK'
:print "&STATUS#"
:ENDIF
:SET &CURRENTRUNSTATUS# = &CURRENTRUNSTATUS#
:SET &CURRENTRUNSTATUS1# = &CURRENTRUNSTATUS#
:SET &PREVIOUSRUNSTATUS# = &PREVIOUSRUNSTATUS#
:SET &PREVIOUSRUNSTATUS1# = &PREVIOUSRUNSTATUS#
:SET &P2PRUNSTATUS# = &P2PRUNSTATUS#
:SET &P2PRUNSTATUS1# = &P2PRUNSTATUS#
:IF &CURRENTRUNSTATUS# = ""
:SET &CURRENTRUNSTATUS# = &STATUS#
:ELSE
:SET &CURRENTRUNSTATUS# = &STATUS#
:ENDIF
:IF &PREVIOUSRUNSTATUS# = ""
:SET &PREVIOUSRUNSTATUS# = &DUMMYSTATUS#
:ELSE
:SET &PREVIOUSRUNSTATUS# = &CURRENTRUNSTATUS1#
:ENDIF
:IF &P2PRUNSTATUS# = ""
:SET &P2PRUNSTATUS# = &DUMMYSTATUS#
:ELSE
:SET &P2PRUNSTATUS# = &P2PRUNSTATUS1#
:ENDIF
:print "&CURRENTRUNSTATUS#"
:print "&PREVIOUSRUNSTATUS#"
:print "&P2PRUNSTATUS#" ```发布于 2021-08-06 15:18:46
使用以下SQL语句创建SQLI变量“ANDYDROID.TEST.VARA
--- ORACLE SQL ---
SELECT 'COUNTER', COUNT(*) COUNTER FROM
(
SELECT * FROM (
SELECT
AH_IDNR, AH_STATUS
FROM AH
WHERE
-- change "JOBNAME"
AH_NAME = 'ANDYDROID.TEST.JOBS'
ORDER BY AH_TIMESTAMP1 DESC
)
WHERE
ROWNUM <= 3
)
WHERE AH_STATUS != '1900'在后脚本中,从VARA-Object获取计数器
:SET &COUNTER# = GET_VAR("ANDYDROID.TEST.VARA", "COUNTER", 2)
:IF &COUNTER# = 3
! SEND_MAIL
: SET &MAILER# = ACTIVATE_UC_OBJECT("YOUR_MAIL_JOB")
:ENDIFhttps://stackoverflow.com/questions/68491762
复制相似问题