#include %occStatus #define CRLF $C(13,10) Herstart ; FOP server herstarten en FOP sheduler terug testen Do StartLog Do StelInVoorDocBaseHerstart Do StopScheduler Hang 60 ;Do RestartDocBaseServer -- OVERGENOMEN DOOR WINSDOWS TAAK op de FOP server Write "Wachten voor 5min op FOP herstart ... ",! Hang 5*60 ; 5 min Write "FOP zou nu herstart moeten zijn. Opnieuw activeren van Spooler en FopQueue.",! Do RestartSpooler Hang 30 /* Do VerzendTestPrinttaak Hang 60 Do ControleerPrinterCache If 'HerstartOK Do . Hang 60 . Do ControleerPrinterCache If 'HerstartOK Do . Hang 60 . Do ControleerPrinterCache If 'HerstartOK Do . Hang 60 . Do ControleerPrinterCache */ // Vorige block in comment gezet : Printtaak + Controleer op "Printers loaded" --> moet niet meer uitgevoerd worden. Set HerstartOK=$$$OK Do:HerstartOK AlleNieuwTakenDoorlaten Do:'HerstartOK AddLog("Nieuwe taken worden niet doorgelaten",1) Do StuurMail Quit StopScheduler Do AddLog("StopScheduler : ",1) Set sc=##class(BL.Sys.FOP.Scheduler).Stop() Set ^Sys.FOP.Settings("Scheduler","MaxBusyTask")=0 Set Status=$S(sc=0:"is niet actief.", $$$ISERR(sc):"is NIET correct gestopt! "_"Error :"_$$ParseStatus^vhLib(sc), 1:"is correct gestopt.") Do AddLog(Status) Quit StelInVoorDocBaseHerstart Do AddLog("StelInVoorDocBaseHerstart",1) Set StatusVoorNieuwePrintertaken="H" Set ^Sys.FOP.Settings("InitialStatusExpr")="$S($IsObject(%this.Task)&&$IsObject(%this.Task.ActionPrint)&&(%this.Task.ActionPrint.Printer'="""")&&(%this.Task.ActionPrint.Printer'=""VHIP2""):"""_StatusVoorNieuwePrintertaken_""", 1:""W"")" Quit // DEPRECATED : ;Do RestartDocBaseServer -- OVERGENOMEN DOOR WINSDOWS TAAK op de FOP server. RestartDocBaseServer Do AddLog("RestartDocBaseServer : ",1) Set Status=$zf(-2,"shutdown /r /f /t 0 /m \\fop.vanhoecke.be") Do AddLog(Status) Quit RestartSpooler Do AddLog("RestartSpooler : ",1) Set Status=$zf(-1,"Sc.exe \\fop.vanhoecke.be start spooler") Do AddLog(Status) Quit VerzendTestPrinttaak Do AddLog("VerzendTestPrinttaak : ",1) Set ^Sys.FOP.Settings("Scheduler","MaxBusyTask")=1 #dim ReturnMessage As %String = "" #dim AdminOfferteID = 534679 #dim PrinterNaam = "VHIP2" #dim sc As %Status = ##class(BL.Flow.Offerte.Doc).RenderAndPrintDoc("O-"_AdminOfferteID,PrinterNaam,1) Set ReturnMessage = "Testopdracht (offerte "_AdminOfferteID_" printen op "_PrinterNaam_") naar de server gestuurd. "_$S($$$ISERR(sc):"Error:"_$$ParseStatus^vhLib(sc),1:"") Do AddLog(ReturnMessage) Quit ControleerPrinterCache Set HerstartOK=0,FirstLine="" Do AddLog("Controle van printercache in log : ",1) Set Status=$zf(-1,"powershell.exe -ExecutionPolicy Bypass C:\scripts\Check_FOP_log.ps1") If Status=0 ; Uitgevoerd { Set Dev=$$OPEN^vhDEV("C:\scripts\","Check_FOP_result.txt","R","M") Use Dev Read FirstLine:1 Close Dev Set HerstartOK=(FirstLine="Printers loaded") ; controle van het resultaat } Do AddLog("Firstline:"_FirstLine_", Status powershell:"_Status) Quit AlleNieuwTakenDoorlaten Do AddLog("AlleNieuweTakenDoorlaten",1) Set ^Sys.FOP.Settings("InitialStatusExpr")="" Quit StuurMail Set Actie = "Restart einde" ; mag aangepast worden New vhLibLogger Set vhLibLogger = ##class(vhLib.Logger).%New("FopHerstartJob") Do vhLibLogger.Info(Actie,MailBody) Set From=$G(From,"Cache01@VanHoecke.be") Set:$G(To)="" To=$LB("PV@VanHoecke.be") Set Subject="Herstart FOP/DocBase : "_$S(HerstartOK:"Herstart=OK",1:"Herstart gefaald") Do SendMiniMail^vhLib(From,To,Subject,MailBody,,,,,) Quit StartLog Set MailBody="" Set Actie = "Restart begin" ; mag aangepast worden New vhLibLogger Set vhLibLogger = ##class(vhLib.Logger).%New("FopHerstartJob") Do vhLibLogger.Info(Actie,Actie) Quit AddLog(Tekst,NewLine) Set MailBody=MailBody_Tekst Do:$G(NewLine) WriteMailBody Quit WriteMailBody Write !,"--------" Write MailBody ;r " ...s press key", k Quit