cQLIMIT ;Check database size ;cQLIMIT;
G START
;
date ;date
N %H,%J,%R S %H=1+$H,%J=%H\1461,%R=%H#1461,DJ=%J*4+1841+(%R\365),DD=%R#365,DM=1 I %R=1460 S DD=365,DJ=DJ-1
F %J=31,(%R>1154)+28,31,30,31,30,31,31,30,31,30 Q:%J'
97% => alarm *** in elk geval opzetten
. I MAXP>98 S $E(R(R))="A" S W=2,RS=R Q
. ;If Maximum percentage full > 95% => warning *** alleen indien nog geen Alarm
. I MAXP>96 S $E(R(R))="W" S:'W W=1,RS=R Q
S VAR("B1")=$S(W=1:"WARNING",W=2:"ALARM",1:"NO worries")
I TEST!W!WO D MAIL
I TEST G YZ
S WO=W
I 'W H 120*60 G CALC ;if No worries -> every 2 hours
I W=1 H 60*60 G CALC ;if Warning -> every 1 hour
I W=2 H 15*60 G CALC ;if Alarm -> every 15 minutes
;
L -@%logl
;
YZ Q
;
TEST ;Check DB size & email
S TEST=1 D CALC
TESTZ Q
;
MAIL ;Send Alert
I W D
. S R=$O(R(R),-1)+1,R(R)="Check Max Size of database if first column contains a character."
. S R=$G(R)+1,R(R)="W means warning. Some action is required in the near future!"
. S R=$G(R)+1,R(R)="A means alarm!!! Immediate action is necessary!",R=$G(R)+1,R(R)=""
S I="" F S I=$O(R(I)) Q:I="" S R(I)=$TR(R(I),"\","/")
D ANOW^cQ14(.R)
S PG=$T(+0),PN=$P($T(+1),";",2) D D1020^cANEM0(PG,PN,.R,.VAR)
Q
;
SHOW(K) S R=$O(R(R),-1)+1,R(R)="",$P(R(R),"^",10)="^",R(R)=$J("",15)_R(R)_" "_$S(K="A":"alarm",1:"warning")_" "_R(R)
;
NMBR(X) Q $J($FN(X,".",0),9)_" MB"
;
NMBS(X) Q $J($FN(X,".",3),10)_" GB"
;
PROC(X) Q $J($FN(X,".",1),9)_"%"
;
TRAP S %=$ZE,M=$T(+0)_$P($T(+1),";",2)_%,$ZT="TRAPZ^"_$T(+0)
I %[$T(+0),%["" Q
; auto-restart this program if edited
I %[$T(+0),%["" L J @("^"_$T(+0))
S %nspc=$ZU(5) ZN "%SYS" S SHUTDOWN=$$%swstat^SWSET(16,0) ZN %nspc
I $S($L($G(^cLOG($ZU(5),"SYSTEM","MASTER"))):$G(^cLOG($ZU(5),"SYSTEM","MASTER")),1:$ZCVT($ZU(110),"U"))'=$S($L($G(^cLOG($ZU(5),"SYSTEM","SLAVE"))):$G(^cLOG($ZU(5),"SYSTEM","SLAVE")),1:$S($L($G(^cLOG($ZU(5),"SYSTEM","MASTER"))):$G(^cLOG($ZU(5),"SYSTEM","MASTER")),1:$ZCVT($ZU(110),"U"))),$ZCVT($ZU(110),"U")=$S($L($G(^cLOG($ZU(5),"SYSTEM","SLAVE"))):$G(^cLOG($ZU(5),"SYSTEM","SLAVE")),1:$S($L($G(^cLOG($ZU(5),"SYSTEM","MASTER"))):$G(^cLOG($ZU(5),"SYSTEM","MASTER")),1:$ZCVT($ZU(110),"U"))),SHUTDOWN Q ;shutdown switch is set, do not log error on slave
D ^cA400,AL(1)
TRAPZ Q
;
AL(%1) ; verzenden alert
D ANOW^cQ14
I %1 D D1004^cANEM0($T(+0),$P($T(@("T0"_$G(QT))),";",2)) Q
D D1005^cANEM0($T(+0),$P($T(@("T0"_$G(QT))),";",2)) Q
ALZ Q
;
ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9