Add optional extension of EventProcessor for asynchronous processing
Added a new interface (Gaudi::Interfaces::IAsyncEventProcessor
) to allow writing applications running event loops in threads independent from the main thread.
The key point is that instead of nextEvent(N)
or executeEvent()
one can call asyncExecuteEvent()
, which returns a std:future
carrying the final StatusCode
of the event loop and the EventContext
that was passed to the method.
The main thread would then be able to control when and how to enqueue new events (e.g. for asynchronous I/O from the network), and, at the same time, know which events have been processed.
For backward compatibility, the event processor required to work in async mode must be specifically adapted to the new interface.
Merge request reports
Activity
changed milestone to %v32r0
added 1 commit
- 74cf2655 - Add possibility of overriding Gaudi::Application::run with a callable
added 5 commits
- 91d2d37a - Add a dedicatd class for application steering
- a91cee99 - Modified GaudiMain.cpp to use Gaudi::Application
- c96e409a - Modified AsyncEventProcessor test to use Gaudi.exe
- cba7fb92 - Add possibility of overriding Gaudi::Application::run with a callable
- cb6815a8 - Modify gaudirun to use Gaudi::Application
Toggle commit listadded 6 commits
- 6594f91a - Add a dedicatd class for application steering
- 002d3617 - Modified GaudiMain.cpp to use Gaudi::Application
- 70ef5496 - Modified AsyncEventProcessor test to use Gaudi.exe
- 62bdb2f6 - Add possibility of overriding Gaudi::Application::run with a callable
- 33ab5c21 - Modify gaudirun to use Gaudi::Application
- 888a23b2 - Refactor --printsequence logic
Toggle commit listadded 31 commits
-
60bcbebc...e3d93abb - 19 commits from branch
gaudi:master
- 018f816b - Remove obsolete (unused) HLTEventLoopMgr
- b671d541 - Remove unused HiveSlimEventLoopMgr::m_appMgrUI
- 57f43ce5 - Fix stand-alone compilation of EventLoopMgr.h
- 07cb10a1 - More explicit management of EventContext in IEventProcessor
- c5fb0b26 - Add optional extension of EventProcessor for asynchronous processing
- 1916b2ec - Add example implementation of IAsyncEventProcessor
- 4cf4c10b - Add a dedicatd class for application steering
- 108c2965 - Modified GaudiMain.cpp to use Gaudi::Application
- 9712c112 - Modified AsyncEventProcessor test to use Gaudi.exe
- caae3f0b - Add possibility of overriding Gaudi::Application::run with a callable
- b440e200 - Modify gaudirun to use Gaudi::Application
- 5c3c6b16 - Refactor --printsequence logic
Toggle commit list-
60bcbebc...e3d93abb - 19 commits from branch
added 5 commits
Toggle commit listadded lhcb-tdr-test label
- [2019-04-23 16:11] Validation started with lhcb-tdr-test#524
- [2019-04-24 00:10] Validation started with lhcb-tdr-test#525
- [2019-04-25 00:10] Validation started with lhcb-tdr-test#526
- [2019-04-26 00:09] Validation started with lhcb-tdr-test#527
- [2019-04-27 00:09] Validation started with lhcb-tdr-test#528
- [2019-04-28 00:07] Validation started with lhcb-tdr-test#529
- [2019-04-29 00:11] Validation started with lhcb-tdr-test#530
- [2019-04-30 00:08] Validation started with lhcb-tdr-test#531
- [2019-05-01 00:06] Validation started with lhcb-tdr-test#532
- [2019-05-02 00:05] Validation started with lhcb-tdr-test#533
- [2019-05-03 00:08] Validation started with lhcb-tdr-test#534
- [2019-05-04 00:06] Validation started with lhcb-tdr-test#535
- [2019-05-05 00:04] Validation started with lhcb-tdr-test#536
- [2019-05-06 00:06] Validation started with lhcb-tdr-test#537
- [2019-05-07 00:08] Validation started with lhcb-tdr-test#538
- [2019-05-08 00:10] Validation started with lhcb-tdr-test#539
- [2019-05-09 00:06] Validation started with lhcb-tdr-test#540
- [2019-05-10 00:11] Validation started with lhcb-tdr-test#541
- [2019-05-11 00:10] Validation started with lhcb-tdr-test#542
- [2019-05-12 00:05] Validation started with lhcb-tdr-test#543
- [2019-05-13 00:11] Validation started with lhcb-tdr-test#544
- [2019-05-14 00:08] Validation started with lhcb-tdr-test#545
- [2019-05-15 00:03] Automatic merge failed in lhcb-dd4hep#178
- [2019-05-15 00:04] Automatic merge failed in lhcb-lcg-dev4#901
- [2019-05-15 00:05] Automatic merge failed in lhcb-lcg-dev3#893
- [2019-05-15 00:05] Automatic merge failed in lhcb-sanitizers#246
- [2019-05-15 00:05] Automatic merge failed in lhcb-soa-track#78
- [2019-05-15 00:06] Automatic merge failed in lhcb-tdr-test#546
- [2019-05-15 00:07] Automatic merge failed in lhcb-test-throughput2#8
- [2019-05-15 00:10] Automatic merge failed in lhcb-gaudi-head#2253
- [2019-05-15 08:10] Validation started with lhcb-gaudi-merge#748
- [2019-05-16 00:03] Validation started with lhcb-sanitizers#247
- [2019-05-16 00:03] Validation started with lhcb-soa-track#79
- [2019-05-16 00:03] Validation started with lhcb-lcg-dev4#902
- [2019-05-16 00:03] Validation started with lhcb-test-throughput2#9
- [2019-05-16 00:04] Validation started with lhcb-dd4hep#179
- [2019-05-16 00:05] Validation started with lhcb-lcg-dev3#894
- [2019-05-16 00:06] Validation started with lhcb-tdr-test#547
- [2019-05-16 00:09] Validation started with lhcb-gaudi-head#2254
- [2019-05-16 10:43] Validation started with lhcb-sanitizers#247
- [2019-05-16 10:44] Validation started with lhcb-tdr-test#547
- [2019-05-16 10:44] Validation started with lhcb-soa-track#79
- [2019-05-16 10:44] Validation started with lhcb-dd4hep#179
- [2019-05-16 10:44] Validation started with lhcb-test-throughput2#9
- [2019-05-16 10:46] Validation started with lhcb-gaudi-head#2254
- [2019-05-16 10:47] Validation started with lhcb-lcg-dev3#894
- [2019-05-16 10:47] Validation started with lhcb-lcg-dev4#902
Edited by Software for LHCbmentioned in merge request lhcb/LHCb!1868 (merged)
@clemenci this MR seems responsible for the failure of the
Brunel.minibrunel.prchecker
test in https://lhcb-nightlies.cern.ch/logs/tests/nightly/lhcb-tdr-test/525/x86_64-centos7-gcc8-opt/Brunel/Could you have a look please?
added 53 commits
-
676f31cb...69dd55cb - 38 commits from branch
gaudi:master
- 8f1bb820 - Remove obsolete (unused) HLTEventLoopMgr
- d0c2f58d - Remove unused HiveSlimEventLoopMgr::m_appMgrUI
- 703b924a - Fix stand-alone compilation of EventLoopMgr.h
- a8949438 - More explicit management of EventContext in IEventProcessor
- c53c5824 - Add optional extension of EventProcessor for asynchronous processing
- 2cd48ef3 - Add example implementation of IAsyncEventProcessor
- 043bdd92 - Add a dedicatd class for application steering
- e6ac52ac - Modified GaudiMain.cpp to use Gaudi::Application
- 3cd5f9bb - Modified AsyncEventProcessor test to use Gaudi.exe
- 18d0da2c - Add possibility of overriding Gaudi::Application::run with a callable
- 215ab4b1 - Modify gaudirun to use Gaudi::Application
- 7717b33e - Refactor --printsequence logic
- 6762f79d - Remove support for custom main loop in gaudirun.py
- 3acbfe28 - Drop support for GaudiPython initialization in gaudirun.py
- 460b4235 - Drop Python based initialization in gaudirun.py (serial)
Toggle commit list-
676f31cb...69dd55cb - 38 commits from branch
mentioned in merge request lhcb/LHCb!1871 (merged)
added 1 commit
- b6e6879d - Example of custom application steering class from Python
@cattanem, the test that failed in Brunel is fixed by lhcb/Brunel!761 (merged). I can fix the test in LHCb, but we may decide to just drop it.
added 63 commits
-
b6e6879d...beff7b98 - 50 commits from branch
gaudi:master
- 727bc0b3 - Add example of ConditionAccessorHolder implementation for integration in Functional
- e480f7de - Add optional extension of EventProcessor for asynchronous processing
- ba3a7f49 - Add example implementation of IAsyncEventProcessor
- 6c16add2 - Add a dedicatd class for application steering
- 14c3734c - Modified GaudiMain.cpp to use Gaudi::Application
- 49cf0c32 - Modified AsyncEventProcessor test to use Gaudi.exe
- 497018bb - Add possibility of overriding Gaudi::Application::run with a callable
- 161ed1cd - Modify gaudirun to use Gaudi::Application
- 43cb405f - Refactor --printsequence logic
- 2e0214f4 - Remove support for custom main loop in gaudirun.py
- fad3bdc5 - Drop support for GaudiPython initialization in gaudirun.py
- 25f3f90d - Drop Python based initialization in gaudirun.py (serial)
- e88d7c3f - Example of custom application steering class from Python
Toggle commit list-
b6e6879d...beff7b98 - 50 commits from branch