13 Test the correct handling on errors during the event processing:
14 - The CPUCruncher is configured to return an ERROR on a fraction of the events
15 - The EventLoopMgr is configured to continue with the next event on ERROR
18 from Configurables
import (
21 AvalancheSchedulerSvc,
35 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
37 slimeventloopmgr = HiveSlimEventLoopMgr(
38 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=DEBUG, AbortOnFailure=
False
41 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=threads, OutputLevel=DEBUG)
43 AlgResourcePool(OutputLevel=DEBUG)
44 CPUCrunchSvc(shortCalib=
True)
56 a1 = CPUCruncher(
"A1")
57 a1.outKeys = [
"/Event/a1"]
59 a2 = CPUCruncher(
"A2")
60 a2.inpKeys = [
"/Event/a1"]
61 a2.outKeys = [
"/Event/a2"]
63 a3 = CPUCruncher(
"A3")
64 a3.inpKeys = [
"/Event/a1"]
65 a3.outKeys = [
"/Event/a3"]
68 a4 = CPUCruncher(
"A4")
69 a4.inpKeys = [
"/Event/a2"]
70 a4.outKeys = [
"/Event/a4"]
72 a5 = CPUCruncher(
"A5")
73 a5.inpKeys = [
"/Event/a3"]
74 a5.outKeys = [
"/Event/a5"]
76 for algo
in [a1, a2, a3, a4, a5]:
77 algo.Cardinality = cardinality
80 msgSvc = InertMessageSvc(
"MessageSvc", Format=
"% F%30W%S%4W%e%s%7W%R%T %0W%M")
81 ApplicationMgr().SvcMapping.append(msgSvc)
87 EventLoop=slimeventloopmgr,
88 TopAlg=[a1, a2, a3, a4, a5],
89 MessageSvcType=
"InertMessageSvc",