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 (HiveWhiteBoard, HiveSlimEventLoopMgr,
22 AvalancheSchedulerSvc, AlgResourcePool,
36 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
44 slimeventloopmgr = HiveSlimEventLoopMgr(
45 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO)
54 scheduler = AvalancheSchedulerSvc(
55 ThreadPoolSize=threads,
57 CheckDependencies=
True,
64 AlgResourcePool(OutputLevel=INFO)
71 from Configurables
import Gaudi__Examples__Conditions__CondSvc
as CS
72 condSvc = CS(name=
"CondSvc", Algs=[
"AlgA"], Data=[
"/Event/A1"])
78 a1 = Test__ViewTester(
"AlgA", OutputLevel=INFO)
79 a1.outKeys = [
'/Event/A1']
80 a1.inpKeys = [
'/Event/A2']
82 a2 = Test__ViewTester(
"AlgB", OutputLevel=INFO)
83 a2.inpKeys = [
'/Event/A1']
85 a3 = Test__ViewTester(
"AlgC", OutputLevel=INFO)
86 a3.outKeys = [
'/Event/A2']
89 "algSeq", Members=[a1, a2, a3], Sequential=
True, OutputLevel=INFO)
97 ExtSvc=[whiteboard, condSvc],
98 EventLoop=slimeventloopmgr,
100 MessageSvcType=
"InertMessageSvc")