Skip to content

EventLoopGrid: Change ELG_jediState.py return type to int to avoid binding problems

Filip Nechansky requested to merge fnechans/athena:fix_elgrid_retrieve into master

See JIRA ATLASG-2449 , using TPython::Eval with string as return type causes issues with python3.7+. This is used in PrunDriver.cxx to get JEDI task status for wait/retrieve. Changing type to int based on enum defined both in ELG_jediState.py and PrunDriver.cxx to solve the issue. I tried to take advantage of existing Enum in PrunDriver.cxx, not sure if it is the best way.

Also cleaning-up some commented lines.

Note on return of the ELG_jediState:

Task states not used explicitly by PrunDriver.cxx were still added to nc_ELG_state_details meta information. I had a look and in whole athena this is used in PrunDriver and only for print-outs so I think its okay to just say "task status other than done/finished/failed/running" or something like that?

Actually covering all the cases with enum would be messy and is probably not necessary. (there is around twenty possible states, see here: https://github.com/PanDAWMS/panda-bigmon-core/blob/master/core/constants.py#L85 )

Tagging @akraszna and @krumnack

Merge request reports