The RunJobEvent module implements the Atlas Event Service (AES) workflow in the pilot.


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).


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

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2016-11-30 - PaulNilsson
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    PanDA All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback