Hi,
I'm running this script every 15 minutes to check if all CP and WP processes are running and if one or more of them are NOT running, I send an email (SEND_MAIL) to myself and activate (ACTIVATE_UC_OBJECT) a job whichs sends an alert to our monitoring system.
Here's the script:
:set &i# = 1
:define &processType#, string, 2
:set &processType#[1] = "WP"
:set &processType#[2] = "CP"
:while &i# <= 2
: print "Starting &processType#[&i#] check."
: set &count# = 1
: set &count# = format(&count#, "000")
: set &processName# = "&$SYSTEM##&processType#[&i#]&count#"
: set &ret# = sys_server_alive(&processName#)
! Return code 20349 indicates process does not exist, so stop loop.
: WHILE &ret# <> 20349
: IF &ret# = "N"
: SET &Message# = '&processName# is not running !!'
: PRINT &Message#
: SET &ACT# = MODIFY_SYSTEM("STARTUP",&processName#)
: PUT_READ_BUFFER Message# = '&Message#'
! SET &OUT# = SEND_MAIL('keld.mollnitz@nordea.com',,'&Message#','The following Server Process is not running: &processName#') ! SET &rn# = ACTIVATE_UC_OBJECT('TEC.UC4.SERVER.PROCESS',,,,,PASS_VALUES)
: ELSE
: PRINT '&processName# is OK'
: ENDIF
: SET &count# = &count# + 1
: SET &count# = format(&count#, "000")
: SET &processName# = "&$SYSTEM##&processType#[&i#]&count#"
: SET &ret# = sys_server_alive(&processName#)
: ENDWHILE
: PRINT " &processName# does not exist. &processType#[&i#] check is complete."
: PRINT ""
: SET &i# = &i# + 1
:ENDWHILE