ATLAS Offline Software
Loading...
Searching...
No Matches
GEDriver.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8//
9// includes
10//
11
12#include <EventLoop/GEDriver.h>
13
15#include <EventLoop/Job.h>
19#include <TSystem.h>
20#include <sstream>
21
22//
23// method implementations
24//
25
27
28namespace EL
29{
30 void GEDriver ::
31 testInvariant () const
32 {
33 RCU_INVARIANT (this != 0);
34 }
35
36
37
38 GEDriver ::
39 GEDriver ()
40 {
41 RCU_NEW_INVARIANT (this);
42 }
43
44
45
46 ::StatusCode GEDriver ::
47 doManagerStep (Detail::ManagerData& data) const
48 {
49 RCU_READ_INVARIANT (this);
50 using namespace msgEventLoop;
52 switch (data.step)
53 {
56 {
57 // safely ignoring: resubmit
58
59 std::ostringstream cmd;
60 cmd << "cd " << data.submitDir << "/submit";
61 for (std::size_t iter : data.batchJobIndices)
62 {
63 cmd << " && qsub " << data.options.castString (Job::optSubmitFlags)
64 << " -o " << data.submitDir << "/submit/log-" << iter << ".out"
65 << " -e " << data.submitDir << "/submit/log-" << iter << ".err"
66 << " run " << iter;
67 }
68 if (gSystem->Exec (cmd.str().c_str()) != 0)
69 RCU_THROW_MSG (("failed to execute: " + cmd.str()).c_str());
70 data.submitted = true;
71 }
72 break;
73
74 default:
75 break;
76 }
77 return ::StatusCode::SUCCESS;
78 }
79}
#define RCU_INVARIANT(x)
Definition Assert.h:201
#define RCU_NEW_INVARIANT(x)
Definition Assert.h:233
#define RCU_READ_INVARIANT(x)
Definition Assert.h:229
#define ANA_CHECK(EXP)
check whether the given expression was successful
ClassImp(EL::GEDriver) namespace EL
Definition GEDriver.cxx:26
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
#define RCU_THROW_MSG(message)
Definition PrintMsg.h:58
virtual::StatusCode doManagerStep(Detail::ManagerData &data) const override
a Driver for running on GE batch systems
Definition GEDriver.h:19
static const std::string optSubmitFlags
description: the name of the option for supplying extra submit parameters to batch systems rationale:...
Definition Job.h:296
@ doResubmit
call the actual doResubmit method
@ submitJob
do the actual job submission
Definition ManagerStep.h:92
This module defines the arguments passed from the BATCH driver to the BATCH worker.