Back to index

nordugrid-arc-nox  1.1.0~rc6
Job.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __ARC_JOB_H__
00004 #define __ARC_JOB_H__
00005 
00006 #include <arc/DateTime.h>
00007 #include <arc/URL.h>
00008 #include <arc/client/JobState.h>
00009 #include <string>
00010 
00011 namespace Arc {
00012   
00013   
00015 
00020   class Job {
00021   public:
00022     
00024 
00027     Job();
00028     ~Job();
00029 
00030     // Information stored in the job list file
00031     // Obligatory inforamtion
00032     std::string Flavour;
00033     URL JobID;
00034     URL Cluster;
00035     // Optional information (ACCs fills if they need it)
00036     URL SubmissionEndpoint;
00037     URL InfoEndpoint;
00038     URL ISB;
00039     URL OSB;
00040     // ACC implementation dependent information
00041     URL AuxURL;
00042     std::string AuxInfo;
00043 
00044     // Information retrieved from the information system
00045     std::string Name;
00046     std::string Type;
00047     URL IDFromEndpoint;
00048     std::string LocalIDFromManager;
00049     std::string JobDescription;
00050     JobState State;
00051     std::string RestartState;
00052     std::map<std::string, std::string> AuxStates; //for all state models
00053     std::map<std::string, std::string> RestartStates; //for all state models
00054     int ExitCode;
00055     std::string ComputingManagerExitCode;
00056     std::list<std::string> Error;
00057     int WaitingPosition;
00058     std::string UserDomain;
00059     std::string Owner;
00060     std::string LocalOwner;
00061     Period RequestedTotalWallTime;
00062     Period RequestedTotalCPUTime;
00063     int RequestedMainMemory; // Deprecated??
00064     int RequestedSlots;
00065     std::list<std::string> RequestedApplicationEnvironment;
00066     std::string StdIn;
00067     std::string StdOut;
00068     std::string StdErr;
00069     std::string LogDir;
00070     std::list<std::string> ExecutionNode;
00071     std::string ExecutionCE; // Deprecated??
00072     std::string Queue;
00073     Period UsedTotalWallTime;
00074     Period UsedTotalCPUTime;
00075     int UsedMainMemory;
00076     std::list<std::string> UsedApplicationEnvironment;
00077     int UsedSlots;
00078     Time LocalSubmissionTime;
00079     Time SubmissionTime;
00080     Time ComputingManagerSubmissionTime;
00081     Time StartTime;
00082     Time ComputingManagerEndTime;
00083     Time EndTime;
00084     Time WorkingAreaEraseTime;
00085     Time ProxyExpirationTime;
00086     std::string SubmissionHost;
00087     std::string SubmissionClientName;
00088     Time CreationTime;
00089     Period Validity;
00090     std::list<std::string> OtherMessages;
00091     //Associations
00092     URL JobManagementEndpoint;
00093     URL DataStagingEndpoint;
00094     std::list<std::string> ActivityOldId;
00095     //ExecutionEnvironment (condensed)
00096     bool VirtualMachine;
00097     std::string UsedCPUType;
00098     std::string UsedOSFamily;
00099     std::string UsedPlatform;
00100 
00102 
00107     void Print(bool longlist) const;
00108   };
00109 
00110 } // namespace Arc
00111 
00112 #endif // __ARC_JOB_H__