ATLAS Offline Software
Loading...
Searching...
No Matches
ManagerData.h
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#ifndef EVENT_LOOP__MANAGER_DATA_H
10#define EVENT_LOOP__MANAGER_DATA_H
11
12#include <EventLoop/Global.h>
13
17#include <map>
18#include <memory>
19#include <set>
20#include <string>
21#include <vector>
22
23class StatusCode;
24
25namespace EL
26{
27 namespace Detail
28 {
44
46 {
52 ManagerData () noexcept;
53
59 ~ManagerData () noexcept;
60
61
63 const Driver *driver {nullptr};
64
66 std::string submitDir;
67
71
73 bool resubmit {false};
74
76 std::string resubmitOption;
77
80
82 Job *job {nullptr};
83
86 bool submitted {false};
87
90 bool retrieved {false};
91
93 bool completed {false};
94
96 std::unique_ptr<BatchJob> batchJob;
97
100 std::vector<std::size_t> batchJobIndices;
101
102
109 public:
110 std::string batchName;
111
119 public:
120 std::string batchInit;
121
130 public:
131 std::string batchJobId;
132
142 public:
144
146 public:
148
150 public:
152
154 public:
155 bool sharedFileSystem {true};
156
158 public:
159 std::set<std::size_t> batchJobSuccess;
160 std::set<std::size_t> batchJobFailure;
161 std::set<std::size_t> batchJobUnknown;
162
163
166
172
173
175 std::map<std::pair<ManagerOrder,std::string>,std::unique_ptr<Manager> > managers;
176
183 void addManager (std::unique_ptr<Manager> manager);
184
190 ::StatusCode run ();
191 };
192 }
193}
194
195#endif
the base class for the various EventLoop drivers that allow to run jobs on different backends
Definition Driver.h:28
Definition Job.h:51
A class that manages meta-data to be associated with an object.
Definition MetaObject.h:56
SubmitDirMode
the mode for creating the submission directory
@ NO_CLOBBER
create the directory as is, raise an error if it already exists
ManagerStep
the individual steps of preparing a job for submission
Definition ManagerStep.h:42
@ initial
this is just the initial step we do, nothing really happens here
Definition ManagerStep.h:45
This module defines the arguments passed from the BATCH driver to the BATCH worker.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool batchSkipReleaseSetup
whether to skip the release setup
const Driver * driver
the driver we are working on/with
Definition ManagerData.h:63
std::string submitDir
the path to the submission directory
Definition ManagerData.h:66
ManagerStep step
the current ManagerStep
::StatusCode run()
run all the managers from start to finish
ManagerData() noexcept
standard constructor
bool submitted
whether we successfully submitted the job in this process
Definition ManagerData.h:86
bool completed
whether the job completed
Definition ManagerData.h:93
std::unique_ptr< BatchJob > batchJob
if we run in batch, the batch job object we are using
Definition ManagerData.h:96
std::set< std::size_t > batchJobUnknown
bool sharedFileSystem
whether we have/use a shared file system
std::string batchJobId
the code needed for setting EL_JOBID
~ManagerData() noexcept
standard destructor
void addManager(std::unique_ptr< Manager > manager)
add the given manager
std::set< std::size_t > batchJobFailure
std::vector< std::size_t > batchJobIndices
if we run in batch, this is the list of job-indices to run
SH::MetaObject options
the options with which we submit this job
Definition ManagerData.h:79
SubmitDirMode submitDirMode
the mode with which we handle the submission directory
Definition ManagerData.h:70
Job * job
the user job we are submitting
Definition ManagerData.h:82
std::string batchName
the name of the submission script to use.
std::map< std::pair< ManagerOrder, std::string >, std::unique_ptr< Manager > > managers
the list of managers to run
ManagerStep nextStep
the next ManagerStep
std::string resubmitOption
if we are resubmitting, the resubmit option chosen
Definition ManagerData.h:76
std::string batchInit
any additional code we need for setting up the batch job.
std::set< std::size_t > batchJobSuccess
the list of successful, failed, unknown batch segments
bool retrieved
whether we successfully retrieved the job in this process
Definition ManagerData.h:90
bool resubmit
whether we are merely resubmitting this job
Definition ManagerData.h:73
std::string batchSubmitLocation
the directory location with batch input configuration
std::string batchWriteLocation
the directory location for writing batch output