persistent
%VHMacro,VHSys.Scheduler
1
VHSysSched
%Persistent
62070,48579.685883
60207,60266.424827
0
97
%Date
%Integer
%Time
"E" = error
"I" = info
"W" = warn
"D" = debug
%String
Toegangscode zie includefile BL.EC.Common bv. $$$tgWebShop
%String
%String
%String
Stack level in case of errors
%String
1
1
Datum,SubID
1
Method AAACompilerFirst() moet eerst staan in alfabetische lijst, want moet als eerste gecompileerd worden!
1
objectgenerator
1
Datum,Tijd,Niveau:%String,Groep:%String,Actie:%String,Detail:%String,ProgLabel:%String
Datum,Tijd,Niveau:%String,Groep:%String,Actie:%String,Detail:%String,ProgLabel:%String
Set oLog=##class(VHSys.Scheduler.Logging).AddToLog(Niveau,Groep,Actie,Detail)
1
Niveau:%String,Groep:%String,Actie:%String,Detail:%String
Logging
Set oLog=##class(VHSys.Scheduler.Logging).AddErrorToLog(Groep,Actie,Error,Detail)
1
Groep:%String,Actie:%String,Error,Detail:%String,blnSendMail:%Boolean=1
Logging
islist+2^%occRun")&&($$$GETERRORCODE(Error)=$$$GeneralError) lbTo=$LB("ICT_Meldingen@vanhoecke.be") ; Does not provide any extra information
Set sc=$$SendMiniMail^vhLib(From,lbTo,Subj,Body,,,,,)
Quit
aelErrorMailBody()
#define BodyTitle "Queue Processing Error in "_..%ClassName(1)_" : "
#define ErrorToLine(%v) $S($L($P(%v,">",2)):$TEXT(@$P(%v,">",2,32767)), 1:"")
Set Body=""
Set Body=Body_$$$BodyTitle_$$$CRLF
Set Body=Body_"Error message: "_$$ParseStatus^vhLib($G(Error,$G(%objlasterror)))_$$$CRLF
Set Body=Body_""_$$$CRLF
Set Body=Body_$$$CRLF_"Groep: "_$G(Groep)
Set Body=Body_$$$CRLF_"Actie: "_$G(Actie)
Set Body=Body_$$$CRLF_"Detail: "_$G(Detail)
Set Body=Body_$$$CRLF_"Error: "_$$ParseStatus^vhLib(Error)
Set Body=Body_$$$CRLF
Set Body=Body_$$$CRLF_"$ZError: "_$ZError
Set:($L($ZError)) Body=Body_$$$CRLF_"Line : "_$$$ErrorToLine($ZError) ; $$aelErrorToLine
Set:($L($G(%objlasterror))) Body=Body_$$$CRLF_"Object Last Error: "_$$ParseStatus^vhLib(%objlasterror)
Set Body=Body_$$$CRLF_"$ECode: "_$ECode
Set Body=Body_$$$CRLF_"Stack: "
For EST=1:1:$ESTACK Set Body=Body_$$$CRLF_" "_$STACK($STACK-EST,"PLACE")
Set Body=Body_$$$CRLF
Set Body=Body_$$$CRLF_"--- End of message ---"_$$$CRLF
Set Body=Body_$$$CRLF_..GetJobInfo(1,"")
Quit Body
]]>
Do ##class(VHSys.Scheduler.Logging).GetMailFields(.From,.lbTo,.Subj, "Error")
1
"
Set lbTo=$LB("wv@vanhoecke.be")
Quit
]]>
1
blnMultiLine:%String,Indent:%String
%String
Niv:"_..Niveau_" Groep:"_..Groep_$S($L(..Actie):" Actie:"_..Actie,1:"")_$S($L(..Detail):" Detail:"_..Detail,1:"")_$S($L(..ProgLabel):" ProgLabel:"_..ProgLabel,1:""))
]]>
1
Dagen
TotDatum Do
. Kill $$$StorageGlobal(Datum)
]]>
Analoog aan CleanOld, behalve de extra controle dat de global node geen subnodes meer bevat (blnCheckEmpty=1)
startH en StopH zijn inclusief, ze worden dus ook verwijderd uit de global.
1
StartH:%Integer,StopH:%Integer,blnCheckEmpty:%Boolean=1
StopH) Kill:($$$NoSubNodes($$$StorageGlobal(Datum))) $$$StorageGlobal(Datum)
Else Do
. For Set Datum=$O($$$StorageGlobal(Datum)) Quit:(Datum="") Quit:(Datum>StopH) Kill $$$StorageGlobal(Datum)
Quit
]]>
%Library.CacheStorage
^VHSys.Scheduler.LoggingD
LoggingDefaultData
^VHSys.Scheduler.LoggingD
^VHSys.Scheduler.LoggingI
^VHSys.Scheduler.LoggingS
%%CLASSNAME
Tijd
Niveau
Groep
Actie
Detail
ProgLabel