// CondorJob.h #ifndef dial__CondorJob_H #define dial__CondorJob_H // Wensheng Deng // August 2003 // // CondorJob is a local job that runs an executable using Condor. #include "dataset_util/Environment.h" #include "dial_job/Job.h" namespace dial { class CondorJob : public Job { private: // data // Input data. // std::string m_qname; Environment m_env; // Filenames (including dir). std::string m_descfile; public: // static functions // Return the location of the condor package. // We expect to find DIR/bin/condor_q, etc. static std::string find_condor(); public: // functions // Constructor. // jobdir = directory in which to run // runfile = script to run CondorJob(JobId jid, std::string descfile, const Application& app, const Task& tsk, const dset::Dataset& dst, const JobPreferences& prf, std::string jobdir, std::string runfile); // Conversion constructor. CondorJob(const Job& job, std::string descfile); // Destructor. ~CondorJob(); // Start a job. int start(); // Update the status of a job. int update(); // Stop a running job int kill(int err =0); public: // const functions // Output stream. std::ostream& ostr(std::ostream& lhs) const; }; } // end namespace dial #endif