Skip to content

WIP: Demonstrators for two possible wrappers to execute ComponentAccumulator based jobs

Walter Lampl requested to merge wlampl/athena:TwoCAWrappers into master

Follow-up of the discussion we had last Thursday, see slides here.

This MR contains demonstrators for two possible wrappers to execute job configured via ComponentAccumulator.

ThinWrapper.sh follows the ideas presented as "Option W" in the slides. This script does sets LD_PRELOAD and executes python relying on the __main__ section of top-level python file to do the right things. On top of that, I added some logic find the top-level python file in the installed python directory.

ThickWrapper.py follows the ideas presented as "Option F". It uses the same triple-quotes trick as current athena.py to start as shell script and continue as python script. In this case the main services and configured by the wrapper. Then it relies on the top-level python script to implement a main(ConfigFlags) method that returns a ComponentAccumulator instance. The run() method gets invoked by the wrapper.

Obviously, both wrappers are rather primitive demonstrators at this point.

Tagging @akraszna, @fwinkl, @ssnyder, @emoyse, @leggett

Merge request reports