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