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
21 from Configurables
import (
23 AvalancheSchedulerSvc,
41 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
49 slimeventloopmgr = HiveSlimEventLoopMgr(
50 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO
60 scheduler = AvalancheSchedulerSvc(
61 ThreadPoolSize=threads, OutputLevel=INFO, CheckDependencies=
True, DataLoaderAlg=
""
68 AlgResourcePool(OutputLevel=INFO)
75 from Configurables
import Gaudi__TestSuite__Conditions__CondSvc
as CS
77 condSvc = CS(name=
"CondSvc", Algs=[
"AlgA"], Data=[
"/Event/A1"])
83 a1 = Test__ViewTester(
"AlgA", OutputLevel=INFO)
84 a1.outKeys = [
"/Event/A1"]
85 a1.inpKeys = [
"/Event/A2"]
87 a2 = Test__ViewTester(
"AlgB", OutputLevel=INFO)
88 a2.inpKeys = [
"/Event/A1"]
90 a3 = Test__ViewTester(
"AlgC", OutputLevel=INFO)
91 a3.outKeys = [
"/Event/A2"]
93 algSeq = Gaudi__Sequencer(
94 "algSeq", Members=[a1, a2, a3], Sequential=
True, OutputLevel=INFO
103 ExtSvc=[whiteboard, condSvc],
104 EventLoop=slimeventloopmgr,
106 MessageSvcType=
"InertMessageSvc",