13 A test to demonstrate stalling for a conditions algorithm
15 - Control flow requires that Alg C run after Alg B
16 - Alg B requires conditions data produced by Alg A
17 - However, Alg A requires the output from Alg C, and thus the job will stall
20 from Configurables
import (
22 AvalancheSchedulerSvc,
40 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
48 slimeventloopmgr = HiveSlimEventLoopMgr(
49 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO
59 scheduler = AvalancheSchedulerSvc(
60 ThreadPoolSize=threads, OutputLevel=INFO, CheckDependencies=
True, DataLoaderAlg=
""
67 AlgResourcePool(OutputLevel=INFO)
74 from Configurables
import Gaudi__Examples__Conditions__CondSvc
as CS
76 condSvc = CS(name=
"CondSvc", Algs=[
"AlgA"], Data=[
"/Event/A1"])
82 a1 = Test__ViewTester(
"AlgA", OutputLevel=INFO)
83 a1.outKeys = [
"/Event/A1"]
84 a1.inpKeys = [
"/Event/A2"]
86 a2 = Test__ViewTester(
"AlgB", OutputLevel=INFO)
87 a2.inpKeys = [
"/Event/A1"]
89 a3 = Test__ViewTester(
"AlgC", OutputLevel=INFO)
90 a3.outKeys = [
"/Event/A2"]
93 "algSeq", Members=[a1, a2, a3], Sequential=
True, OutputLevel=INFO
102 ExtSvc=[whiteboard, condSvc],
103 EventLoop=slimeventloopmgr,
105 MessageSvcType=
"InertMessageSvc",