Index: AX/CARETAKER.mac.rou =================================================================== diff -u -r44038 -r47951 --- AX/CARETAKER.mac.rou (.../CARETAKER.mac.rou) (revision 44038) +++ AX/CARETAKER.mac.rou (.../CARETAKER.mac.rou) (revision 47951) @@ -1,28 +1,48 @@ - + SynchroniseerOpenstaandeFacturen() ; AX synchronisatie van de openstaande verkoopfacturen do ##class(APPS.common.RuntimeInitialiser).Initialise("AX.Caretaker"_$job) do Execute("AX.Uitgaand.BKH.OpenstaandeVerkoopFactuur.impl.Synchroniser","Synchroniseer") quit CollectResponses() ; AX verwerken van de responses do ##class(APPS.common.RuntimeInitialiser).Initialise("AX.Caretaker"_$job) - do Execute("AXimpl.ResponseCollector","Process") + + Lock +^AX.Caretaker("CollectResponse"):0 + Else Quit + + while $get(^AX.Caretaker("CollectResponse")) { + do Execute("AXimpl.ResponseCollector","Process") + hang 1 + } + + Lock -^AX.Caretaker("CollectResponse") + quit + CollectRequests() ; AX verwerken van de requests do ##class(APPS.common.RuntimeInitialiser).Initialise("AX.Caretaker"_$job) - do Execute("AXimpl.MessageInCollector","Process") - quit + Lock +^AX.Caretaker("CollectRequests"):0 + Else Quit + + while $get(^AX.Caretaker("CollectRequests")) { + do Execute("AXimpl.MessageInCollector","Process") + hang 1 + } + Lock -^AX.Caretaker("CollectRequests") + + quit - Execute(Classname,Method) try { #dim ObjectApi As TECH.Object.ObjectAPI = ##class(TECH.Context).Instance().GeefObjectAPI() #dim Instance As %Base = ObjectApi.New(Classname) do $method(Instance,Method) } catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + do ##class(vhLib.Logger).%New("AX.CARETAKER").Error("Caretaker",Exception.ToString()) + } quit