37 testInvariant ()
const
52 ::StatusCode CondorDriver ::
53 doManagerStep (Detail::ManagerData&
data)
const
56 using namespace msgEventLoop;
62 data.batchInit =
"export PATH LD_LIBRARY_PATH PYTHONPATH";
70 const std::string tarballName(
"AnalysisPackage.tar.gz");
76 const std::string newLocation =
data.submitDir +
"/submit/" + tarballName;
77 int status=gSystem->CopyFile(tarballName.c_str(),newLocation.c_str());
79 RCU_THROW_MSG( (
"failed to copy " + tarballName +
" to " + newLocation).c_str() );
84 std::ofstream
file ((
data.submitDir +
"/submit/submit").c_str());
85 file <<
"executable = run\n";
86 file <<
"universe = vanilla\n";
87 file <<
"log = submit/run.log\n";
88 file <<
"output = submit/log-$(Item).out\n";
89 file <<
"error = submit/log-$(Item).err\n";
90 file <<
"initialdir = " <<
data.submitDir <<
"\n";
93 file <<
"should_transfer_files = YES\n";
94 file <<
"when_to_transfer_output = ON_EXIT\n";
95 file <<
"transfer_input_files = submit/" << tarballName <<
", submit/segments, submit/config.root\n";
96 file <<
"transfer_output_files = fetch, status\n";
97 if (
char* x509userproxy = std::getenv(
"X509_USER_PROXY")) {
98 std::filesystem::path proxyPath(x509userproxy);
99 std::filesystem::path proxyPathDestination(
data.submitDir +
"/submit/" + proxyPath.filename().string());
100 std::filesystem::copy(proxyPath,
101 proxyPathDestination,
102 std::filesystem::copy_options::overwrite_existing);
103 file <<
"x509userproxy = " << proxyPathDestination.string() <<
"\n";
109 file <<
"arguments = $(Item)\n";
111 file <<
"queue in ( ";
113 for (std::size_t
index :
data.batchJobIndices)
125 std::ostringstream cmd;
126 cmd <<
"cd " <<
data.submitDir <<
"/submit && condor_submit "
128 if (gSystem->Exec (cmd.str().c_str()) != 0)
131 data.submitted =
true;
138 return ::StatusCode::SUCCESS;
#define RCU_NEW_INVARIANT(x)
#define RCU_READ_INVARIANT(x)
ClassImp(EL::CondorDriver) namespace EL
char data[hepevt_bytes_allocation_ATLAS]
#define RCU_THROW_MSG(message)
virtual::StatusCode doManagerStep(Detail::ManagerData &data) const override
a Driver to run on Condor batch systems
static const std::string optBatchSharedFileSystem
description: batch-specific options rationale: these options are for configuring batch drivers
static const std::string optCondorConf
description: the name of the option for supplying extra parameters for condor systems
static const std::string optSubmitFlags
description: the name of the option for supplying extra submit parameters to batch systems rationale:...
@ doResubmit
call the actual doResubmit method
@ submitJob
do the actual job submission
@ batchScriptVar
create the variables needed for the batch-run script
This module defines the arguments passed from the BATCH driver to the BATCH worker.