/// Routine : VHSys.Scheduler.INC /// /// Author : Wim Vermeulen /// Created : 16/04/2007 (originally in previous version on 12/12/2006) /// #include vhLib.Macro #define ClassEvent(%v) ..ResourceNameFromClass(%v) /// Resource name voor Lock bij seriële verwerking van QItem's /// De effectieve lock gebeurt op subnode SingleLockKey --> bvb: Lock +$$$SchedProcessSerial(SingleLockKey):LockTimeOut #define SchedProcessSerial SchedProcessSerial // QueueItem Status : applies to VHSys.Scheduler.QueueItem objects // prefix "qs" #define qsWait "W" #define qsStarted "S" #define qsBusy "B" #define qsError "E" #define qsProcessed "P" #define qsFinished "F" #define qsSync "Y" // Task Status : applies to VHSys.Scheduler.Task and VHSys.Scheduler.emSeqItem objects // prefix "ts" #define tsDataFetched "D" #define tsBusy "B" #define tsError "E" #define tsProcessed "P" #define tsFinished "F" // RunMode : geeft aan hoe de taak verwerkt wordt // Applies to VHSys.Scheduler.Task and Sys.FOP.emSeqItem objects // prefix "rm" #define rmSync "S" #define rmInLine "I" #define rmThreaded "T" #define rmBatch "B" // Priority: // ========= // Priority Type van een QueueItem. Priority wordt bepaald door een getal, een code of door de RunMode van een Task // prefix "qpt" #define qptValue "Value" #define qptCode "Code" #define qptRunMode "RunMode" #define qptAuto "Auto" // Priority Value voor de Queue // prefix "qpv" #define qpvNull 0 #define qpvMin 1 #define qpvLow 2 #define qpvMedium 5 #define qpvHigh 8 #define qpvMax 10 // Priority conversies/berekeningen // // PrioValue ; Value tussen 1 en 10 (incl.) // PrioCode ; (L) = 1-2-3 (M) = 4-5-6 (H) = 7-8-9 (?) = 10 // RunMode ; Batch=Low Threaded=Medium Sync=High #define PrioViaValue(%v) $S(+%v<$$$qpvMin:"", %v<$$$qpvMax:%v, 1:$$$qpvMax) #define PrioViaCode(%v) $CASE(%v, "L":$$$qpvLow, "M":$$$qpvMedium, "H":$$$qpvHigh, :$$$qpvNull) #define PrioCodeFromRunMode(%v) $CASE(%v, $$$rmBatch:"L", $$$rmInLine:"M", $$$rmThreaded:"M", $$$rmSync:"H", :"") #define PrioViaRunMode(%v) $CASE(%v, $$$rmBatch:$$$qpvLow, $$$rmInLine:$$$qpvMedium, $$$rmThreaded:$$$qpvMedium, $$$rmSync:$$$qpvHigh, :$$$qpvNull)