Introduction
The
RunJobEvent module implements the Atlas Event Service (AES) workflow in the pilot.
Description
This module is responsible for:
1) Download event ranges from the PanDA server.
2) Execute the token extractor (for older releases).
3) Execute the prefetcher (for newer releases)
4) Execute AthenaMP.
5) Send event ranges to AthenaMP and wait for communications via yampl messages (from AthenaMP).
6) Stage-out asynchcronously output files to an object store.
Main workflow:
1. The job definition is imported (newJobDef) as a python module.
2. runJob.argumentParser()
RunJob options are interpreted by this function.
3. Set node info
a) Node.setNodeName() Set nodename data member.
b) Node.collectWNInfo() Collect node information (cpu, memory and disk space).
4. Signal handling (sig2exc())
Definition of signal handler followed by registration of supported signals: SIGTERM, SIGQUIT, SIGSEGV, SIGXCPU, SIGUSR1, SIGBUS
Setup section.
5. setup()
Prepare the setup and get the run command list. Note: running multiple trf:s need to be supported.
a) RunJobUtilities.verifyMultiTrf(), in case of multiple trf:s.
b) thisExperiment.getJobExecutionCommand(), called for each trf.
(Pilot server is called before and after the setup() function).
Notes:
1) This module is launched as a subprocess by the Monitor module.
2) The main function is protected with a try-statement.
Major updates:
--
PaulNilsson - 2016-06-20