library: libProof #include "TProof.h" |
TProof
class description - header file - source file - inheritance tree (.pdf)
private:
TProof(const TProof&)
void Activate(TList* slaves = 0)
void ActivateAsyncInput()
void AskParallel()
void AskStatistics()
Int_t Broadcast(const TMessage& mess, TList* slaves)
Int_t Broadcast(const TMessage& mess, TProof::ESlaves list = kActive)
Int_t Broadcast(const char* mess, Int_t kind, TList* slaves)
Int_t Broadcast(const char* mess, Int_t kind = kMESS_STRING, TProof::ESlaves list = kActive)
Int_t Broadcast(Int_t kind, TList* slaves)
Int_t Broadcast(Int_t kind, TProof::ESlaves list = kActive)
Int_t BroadcastObject(const TObject* obj, Int_t kind, TList* slaves)
Int_t BroadcastObject(const TObject* obj, Int_t kind = kMESS_OBJECT, TProof::ESlaves list = kActive)
Int_t BroadcastRaw(const void* buffer, Int_t length, TList* slaves)
Int_t BroadcastRaw(const void* buffer, Int_t length, TProof::ESlaves list = kActive)
Int_t BuildPackage(const char* package)
Bool_t CheckFile(const char* file, TSlave* sl, Long_t modtime)
void CleanGDirectory(TList* ol)
Int_t Collect(const TSlave* sl, Long_t timeout = -1)
Int_t Collect(TMonitor* mon, Long_t timeout = -1)
Int_t CollectInputFrom(TSocket* s)
void DeActivateAsyncInput()
Int_t DisablePackage(const char* package)
Int_t DisablePackages()
Int_t Exec(const char* cmd, TProof::ESlaves list)
TSlave* FindSlave(TSocket* s) const
void FindUniqueSlaves()
TList* GetListOfBadSlaves() const
TList* GetListOfInactiveSlaves() const
TList* GetListOfSlaves() const
TList* GetListOfUniqueSlaves() const
Int_t GetNumberOfActiveSlaves() const
Int_t GetNumberOfBadSlaves() const
Int_t GetNumberOfInactiveSlaves() const
Int_t GetNumberOfSlaves() const
Int_t GetNumberOfUniqueSlaves() const
Int_t GetQueryReference(Int_t qry, TString& ref)
Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE)
void HandleAsyncInput(TSocket* s)
void Interrupt(TProof::EUrgent type, TProof::ESlaves list = kActive)
void InterruptCurrentMonitor()
Bool_t IsEndMaster() const
Bool_t IsSync() const
Int_t LoadPackage(const char* package)
void MarkBad(TSlave* sl)
void MarkBad(TSocket* s)
void ModifyWorkerLists(const char* ord, Bool_t add)
void operator=(const TProof&)
Int_t Ping(TProof::ESlaves list)
void RecvLogFile(TSocket* s, Int_t size)
Int_t SendCommand(const char* cmd, TProof::ESlaves list = kActive)
Int_t SendCurrentState(TProof::ESlaves list = kActive)
Int_t SendFile(const char* file, Int_t opt = (kBinary|kForward), const char* rfile = "0", TSlave* sl = 0)
Int_t SendGroupView()
Int_t SendInitialState()
Int_t SendObject(const TObject* obj, TProof::ESlaves list = kActive)
Int_t SendPrint(Option_t* option = "")
Int_t UnloadPackage(const char* package)
Int_t UnloadPackages()
protected:
TProof()
Int_t Collect(TProof::ESlaves list = kActive, Long_t timeout = -1)
Int_t Collect(TList* slaves, Long_t timeout = -1)
TSlave* CreateSlave(const char* url, const char* ord, Int_t perf, const char* image, const char* workdir)
TSlave* CreateSubmaster(const char* url, const char* ord, const char* image, const char* msd)
TList* GetListOfActiveSlaves() const
TProofPlayer* GetPlayer() const
TPluginHandler* GetProgressDialog() const
Int_t Init(const char* masterurl, const char* conffile, const char* confdir, Int_t loglevel, const char* alias = "0")
virtual TProofPlayer* MakePlayer()
void SetDSet(TDSet* dset)
void SetPlayer(TProofPlayer* player)
static void* SlaveStartupThread(void* arg)
virtual Bool_t StartSlaves(Bool_t parallel, Bool_t attach = kFALSE)
virtual void ValidateDSet(TDSet* dset)
public:
TProof(const char* masterurl, const char* conffile = "kPROOF_ConfFile", const char* confdir = "kPROOF_ConfDir", Int_t loglevel = 0, const char* alias = "0")
virtual ~TProof()
virtual void ActivateWorker(const char* ord)
virtual void AddChain(TChain* chain)
virtual Int_t AddDynamicPath(const char* libpath)
virtual void AddFeedback(const char* name)
virtual Int_t AddIncludePath(const char* incpath)
virtual void AddInput(TObject* obj)
virtual Int_t Archive(Int_t query, const char* url)
virtual Int_t Archive(const char* queryref, const char* url = "0")
virtual void Browse(TBrowser* b)
virtual void cd(Int_t id = -1)
static TClass* Class()
virtual Int_t CleanupSession(const char* sessiontag)
virtual void ClearCache()
virtual void ClearFeedback()
virtual void ClearInput()
virtual Int_t ClearPackage(const char* package)
virtual Int_t ClearPackages()
virtual void Close(Option_t* option = "")
virtual void CloseProgressDialog()
virtual Int_t CreateDataSet(const char* dataset, TList* files, Int_t opt = kAskUser)
virtual TDrawFeedback* CreateDrawFeedback()
virtual void DeactivateWorker(const char* ord)
virtual void DeleteDrawFeedback(TDrawFeedback* f)
virtual void Detach(Option_t* opt = "")
virtual Int_t DrawSelect(TDSet* set, const char* varexp, const char* selection = "", Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0)
virtual Int_t EnablePackage(const char* package)
virtual Int_t Exec(const char* cmd)
virtual void Feedback(TList* objs)
virtual Int_t Finalize(Int_t query = -1, Bool_t force = kFALSE)
virtual Int_t Finalize(const char* queryref, Bool_t force = kFALSE)
virtual Long64_t GetBytesRead() const
virtual Int_t GetClientProtocol() const
virtual const char* GetConfDir() const
virtual const char* GetConfFile() const
virtual Float_t GetCpuTime() const
virtual TList* GetDataSet(const char* dataset)
virtual TList* GetDataSets(const char* dir = "0")
virtual TList* GetFeedbackList() const
virtual const char* GetImage() const
virtual TList* GetListOfEnabledPackages()
virtual TList* GetListOfPackages()
virtual TList* GetListOfQueries(Option_t* opt = "")
virtual void GetLog(Int_t start = -1, Int_t end = -1)
virtual Int_t GetLogLevel() const
virtual const char* GetMaster() const
virtual void GetMaxQueries()
virtual Int_t GetNumberOfDrawQueries()
virtual Int_t GetNumberOfQueries()
virtual TObject* GetOutput(const char* name)
virtual TList* GetOutputList()
virtual TList* GetOutputNames()
virtual Int_t GetParallel() const
virtual Int_t GetPort() const
virtual TVirtualProof::EQueryMode GetQueryMode() const
TVirtualProof::EQueryMode GetQueryMode(Option_t* mode) const
virtual TQueryResult* GetQueryResult(const char* ref)
virtual TList* GetQueryResults()
virtual Float_t GetRealTime() const
virtual Int_t GetRemoteProtocol() const
virtual Int_t GetSessionID() const
virtual TList* GetSlaveInfo()
virtual Int_t GetStatus() const
virtual TTree* GetTreeHeader(TDSet* tdset)
virtual const char* GetUrl()
virtual const char* GetUser() const
virtual const char* GetWorkDir() const
virtual TClass* IsA() const
virtual Bool_t IsDataReady(Long64_t& totalbytes, Long64_t& bytesready)
virtual Bool_t IsFolder() const
virtual Bool_t IsIdle() const
virtual Bool_t IsMaster() const
virtual Bool_t IsParallel() const
virtual Bool_t IsValid() const
virtual void LogMessage(const char* msg, Bool_t all)
static TVirtualProof* Open(const char* url = "0", const char* conffile = "0", const char* confdir = "0", Int_t loglevel = 0)
virtual Int_t Ping()
virtual void Print(Option_t* option = "") const
virtual Int_t Process(TDSet* set, const char* selector, Option_t* option = "", Long64_t nentries = -1, Long64_t firstentry = 0, TEventList* evl = 0)
virtual void Progress(Long64_t total, Long64_t processed)
virtual void PutLog(TQueryResult* qr)
virtual void QueryResultReady(const char* ref)
virtual Int_t Remove(Int_t query)
virtual Int_t Remove(const char* queryref, Bool_t all = kFALSE)
virtual void RemoveChain(TChain* chain)
virtual Int_t RemoveDataSet(const char* dateset)
virtual Int_t RemoveDynamicPath(const char* libpath)
virtual void RemoveFeedback(const char* name)
virtual Int_t RemoveIncludePath(const char* incpath)
static Int_t Reset(const char* url, const char* usr = "0")
virtual void ResetProgressDialog(const char* sel, Int_t sz, Long64_t fst, Long64_t ent)
virtual void ResetProgressDialogStatus()
virtual Int_t Retrieve(Int_t query, const char* path = "0")
virtual Int_t Retrieve(const char* queryref, const char* path = "0")
virtual Bool_t SendingLogToWindow() const
virtual void SendLogToWindow(Bool_t mode)
virtual void SetActive(Bool_t = kTRUE)
virtual void SetAlias(const char* alias = "")
virtual void SetDrawFeedbackOption(TDrawFeedback* f, Option_t* opt)
virtual void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll)
virtual void SetMaxDrawQueries(Int_t max)
virtual Int_t SetParallel(Int_t nodes = 9999)
void SetQueryMode(TVirtualProof::EQueryMode mode)
virtual void ShowCache(Bool_t all = kFALSE)
virtual void ShowDataSet(const char* dataset)
virtual void ShowDataSets(const char* dir = "0")
virtual void ShowEnabledPackages(Bool_t all = kFALSE)
virtual void ShowFeedback() const
virtual void ShowLog(Int_t qry = -1)
virtual void ShowLog(const char* queryref)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void ShowPackages(Bool_t all = kFALSE)
virtual void ShowQueries(Option_t* opt = "")
virtual void StartupMessage(const char* msg, Bool_t status, Int_t done, Int_t total)
virtual void StopProcess(Bool_t abort, Int_t timeout = -1)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual Int_t UploadDataSet(const char* dataset, TList* files, const char* dest = "0", Int_t opt = kAskUser, TList* skippedFiles = 0)
virtual Int_t UploadDataSet(const char* dataset, const char* files, const char* dest = "0", Int_t opt = kAskUser, TList* skippedFiles = 0)
virtual Int_t UploadDataSetFromFile(const char* dataset, const char* file, const char* dest = "0", Int_t opt = kAskUser)
virtual Int_t UploadPackage(const char* par, TVirtualProof::EUploadPackageOpt opt = kUntar)
virtual Int_t VerifyDataSet(const char* dataset)
private:
Bool_t fValid is this a valid proof object
TString fMaster master server ("" if a master); used in the browser
TString fWorkDir current work directory on remote servers
Int_t fLogLevel server debug logging level
Int_t fStatus remote return status (part of kPROOF_LOGDONE)
TList* fSlaveInfo !list returned by kPROOF_GETSLAVEINFO
Bool_t fMasterServ true if we are a master server
Bool_t fSendGroupView if true send new group view
TList* fActiveSlaves list of active slaves (subset of all slaves)
TList* fInactiveSlaves list of inactive slaves (good but not used for processing)
TList* fUniqueSlaves list of all active slaves with unique file systems
TList* fNonUniqueMasters list of all active masters with a nonunique file system
TMonitor* fActiveMonitor monitor activity on all active slave sockets
TMonitor* fUniqueMonitor monitor activity on all unique slave sockets
TMonitor* fCurrentMonitor caurrently active monitor
Long64_t fBytesRead bytes read by all slaves during the session
Float_t fRealTime realtime spent by all slaves during the session
Float_t fCpuTime CPU time spent by all slaves during the session
TSignalHandler* fIntHandler interrupt signal handler (ctrl-c)
TPluginHandler* fProgressDialog progress dialog plugin
Bool_t fProgressDialogStarted indicates if the progress dialog is up
TProofPlayer* fPlayer current player
TList* fFeedback list of names to be returned as feedback
TList* fChains chains with this proof set
map<TString,TProof::MD5Mod_t,less<TString>,allocator<pair<const TString,TProof::MD5Mod_t> > > fFileMap map keeping track of a file's md5 and mod time
TDSet* fDSet current TDSet being validated
Bool_t fIdle on clients, true if no PROOF jobs running
Bool_t fSync true if type of currently processed query is sync
Bool_t fRedirLog redirect received log info
TString fLogFileName name of the temp file for redirected logs
FILE* fLogFileW temp file to redirect logs
FILE* fLogFileR temp file to read redirected logs
Bool_t fLogToWindowOnly send log to window only
TList* fWaitingSlaves stores a TPair of the slaves's TSocket and TMessage
TList* fQueries list of TProofQuery objects
Int_t fOtherQueries number of queries in list from previous sessions
Int_t fDrawQueries number of draw queries during this sessions
Int_t fMaxDrawQueries max number of draw queries kept
Int_t fSeqNum Remote sequential # of the last query submitted
Int_t fSessionID Remote ID of the session
Bool_t fEndMaster true for a master in direct contact only with workers
protected:
TUrl fUrl Url of the master
TString fConfFile file containing config information
TString fConfDir directory containing cluster config information
TString fImage master's image name
Int_t fProtocol remote PROOF server protocol version number
TList* fSlaves list of all slave servers as in config file
TList* fBadSlaves dead slaves (subset of all slaves)
TMonitor* fAllMonitor monitor activity on all valid slave sockets
Bool_t fDataReady true if data is ready to be analyzed
Long64_t fBytesReady number of bytes staged
Long64_t fTotalBytes number of bytes to be analyzed
TList* fAvailablePackages list of available packages
TList* fEnabledPackages list of enabled packages
static TSemaphore* fgSemaphore semaphore to control no of parallel startup threads
public:
static const TProof::EUrgent kLocalInterrupt
static const TProof::EUrgent kPing
static const TProof::EUrgent kHardInterrupt
static const TProof::EUrgent kSoftInterrupt
static const TProof::EUrgent kShutdownInterrupt
static const TProof::EProofCacheCommands kShowCache
static const TProof::EProofCacheCommands kClearCache
static const TProof::EProofCacheCommands kShowPackages
static const TProof::EProofCacheCommands kClearPackages
static const TProof::EProofCacheCommands kClearPackage
static const TProof::EProofCacheCommands kBuildPackage
static const TProof::EProofCacheCommands kLoadPackage
static const TProof::EProofCacheCommands kShowEnabledPackages
static const TProof::EProofCacheCommands kShowSubCache
static const TProof::EProofCacheCommands kClearSubCache
static const TProof::EProofCacheCommands kShowSubPackages
static const TProof::EProofCacheCommands kDisableSubPackages
static const TProof::EProofCacheCommands kDisableSubPackage
static const TProof::EProofCacheCommands kBuildSubPackage
static const TProof::EProofCacheCommands kUnloadPackage
static const TProof::EProofCacheCommands kDisablePackage
static const TProof::EProofCacheCommands kUnloadPackages
static const TProof::EProofCacheCommands kDisablePackages
static const TProof::EProofCacheCommands kListPackages
static const TProof::EProofCacheCommands kListEnabledPackages
static const TProof::EProofDataSetCommands kUploadDataSet
static const TProof::EProofDataSetCommands kCheckDataSetName
static const TProof::EProofDataSetCommands kGetDataSets
static const TProof::EProofDataSetCommands kCreateDataSet
static const TProof::EProofDataSetCommands kGetDataSet
static const TProof::EProofDataSetCommands kVerifyDataSet
static const TProof::EProofDataSetCommands kRemoveDataSet
static const TProof::EProofDataSetCommands kAppendDataSet
static const TProof::ESendFileOpt kAscii
static const TProof::ESendFileOpt kBinary
static const TProof::ESendFileOpt kForce
static const TProof::ESendFileOpt kForward
static const TProof::EProofWrkListAction kActivateWorker
static const TProof::EProofWrkListAction kDeactivateWorker
static const TProof::ESlaves kAll
static const TProof::ESlaves kActive
static const TProof::ESlaves kUnique
TProof
This class controls a Parallel ROOT Facility, PROOF, cluster.
It fires the slave servers, it keeps track of how many slaves are
running, it keeps track of the slaves running status, it broadcasts
messages to all slaves, it collects results, etc.
TProof(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias)
Create a PROOF environment. Starting PROOF involves either connecting
to a master server, which in turn will start a set of slave servers, or
directly starting as master server (if master = ""). Masterurl is of
the form: [proof[s]://]host[:port]. Conffile is the name of the config
file describing the remote PROOF cluster (this argument alows you to
describe different cluster configurations).
The default is proof.conf. Confdir is the directory where the config
file and other PROOF related files are (like motd and noproof files).
Loglevel is the log level (default = 1). User specified custom config
files will be first looked for in $HOME/.conffile.
TProof()
Protected constructor to be used by classes deriving from TProof
(they have to call Init themselves and override StartSlaves
appropriately).
This constructor simply closes any previous gProof and sets gProof
to this instance.
~TProof()
Clean up PROOF environment.
Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias)
Start the PROOF environment. Starting PROOF involves either connecting
to a master server, which in turn will start a set of slave servers, or
directly starting as master server (if master = ""). For a description
of the arguments see the TProof ctor. Returns the number of started
master or slave servers, returns 0 in case of error, in which case
fValid remains false.
void Close(Option_t *opt)
Close all open slave servers.
Client can decide to shutdown the remote session by passing option is 'S'
or 's'. Default for clients is detach, if supported. Masters always
shutdown the remote counterpart.
TSlave * CreateSlave(const char *url, const char *ord, Int_t perf, const char *image, const char *workdir)
Create a new TSlave of type TSlave::kSlave.
Note: creation of TSlave is private with TProof as a friend.
Derived classes must use this function to create slaves.
void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique
(user) file system image. This information is used to transfer files
only once to nodes that share a file system (an image). Submasters
which are not in fUniqueSlaves are put in the fNonUniqueMasters
list. That list is used to trigger the transferring of files to
the submaster's unique slaves without the need to transfer the file
to the submaster.
Int_t GetNumberOfBadSlaves()
Return number of bad slaves. This are slaves that we in the config
file, but refused to startup or that died during the PROOF session.
void AskParallel()
Ask the for the number of parallel slaves.
void GetMaxQueries()
Get max number of queries whose full results are kept in the
remote sandbox
void ShowQueries(Option_t *opt)
Ask the master for the list of queries.
Options:
"A" show information about all the queries known to the
server, i.e. even those processed by other sessions
"L" show only information about queries locally available
i.e. already retrieved. If "L" is specified, "A" is
ignored.
"F" show all details available about queries
"H" print help menu
Default ""
void Interrupt(EUrgent type, ESlaves list)
Send interrupt OOB byte to master or slave servers.
Int_t GetParallel()
Returns number of slaves active in parallel mode. Returns 0 in case
there are no active slaves. Returns -1 in case of error.
TList * GetSlaveInfo()
Returns number of slaves active in parallel mode. Returns 0 in case
there are no active slaves. Returns -1 in case of error.
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list. Returns
the number of slaves the message was successfully sent to.
Returns -1 in case of error.
Int_t Broadcast(const TMessage &mess, ESlaves list)
Broadcast a message to all slaves in the specified list (either
all slaves or only the active slaves). Returns the number of slaves
the message was successfully sent to. Returns -1 in case of error.
Int_t Broadcast(const char *str, Int_t kind, TList *slaves)
Broadcast a character string buffer to all slaves in the specified
list. Use kind to set the TMessage what field. Returns the number of
slaves the message was sent to. Returns -1 in case of error.
Int_t Broadcast(const char *str, Int_t kind, ESlaves list)
Broadcast a character string buffer to all slaves in the specified
list (either all slaves or only the active slaves). Use kind to
set the TMessage what field. Returns the number of slaves the message
was sent to. Returns -1 in case of error.
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list. Use kind to
set the TMEssage what field. Returns the number of slaves the message
was sent to. Returns -1 in case of error.
Int_t BroadcastObject(const TObject *obj, Int_t kind, ESlaves list)
Broadcast an object to all slaves in the specified list. Use kind to
set the TMEssage what field. Returns the number of slaves the message
was sent to. Returns -1 in case of error.
Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves)
Broadcast a raw buffer of specified length to all slaves in the
specified list. Returns the number of slaves the buffer was sent to.
Returns -1 in case of error.
Int_t BroadcastRaw(const void *buffer, Int_t length, ESlaves list)
Broadcast a raw buffer of specified length to all slaves in the
specified list. Returns the number of slaves the buffer was sent to.
Returns -1 in case of error.
Int_t Collect(const TSlave *sl, Long_t timeout)
Collect responses from slave sl. Returns the number of slaves that
responded (=1).
If timeout >= 0, wait at most timeout seconds (timeout = -1 by default,
which means wait forever).
Int_t Collect(TList *slaves, Long_t timeout)
Collect responses from the slave servers. Returns the number of slaves
that responded.
If timeout >= 0, wait at most timeout seconds (timeout = -1 by default,
which means wait forever).
Int_t Collect(ESlaves list, Long_t timeout)
Collect responses from the slave servers. Returns the number of slaves
that responded.
If timeout >= 0, wait at most timeout seconds (timeout = -1 by default,
which means wait forever).
Int_t Collect(TMonitor *mon, Long_t timeout)
Collect responses from the slave servers. Returns the number of messages
received. Can be 0 if there are no active slaves.
If timeout >= 0, wait at most timeout seconds (timeout = -1 by default,
which means wait forever).
void HandleAsyncInput(TSocket *sl)
Handle input coming from the master server (when this is a client)
or from a slave server (when this is a master server). This is mainly
for a-synchronous communication. Normally when PROOF issues a command
the (slave) server messages are directly handle by Collect().
void MarkBad(TSlave *sl)
Add a bad slave server to the bad slave list and remove it from
the active list and from the two monitor objects.
void MarkBad(TSocket *s)
Add slave with socket s to the bad slave list and remove if from
the active list and from the two monitor objects.
Int_t Ping(ESlaves list)
Ping PROOF slaves. Returns the number of slaves that responded.
Int_t Finalize(Int_t qry, Bool_t force)
Finalize the qry-th query in fQueries.
If force, force new retrieve if the query is found in the local list
but has already been finalized (default kFALSE).
If query < 0, finalize current query.
Return 0 on success, -1 on error
Int_t Finalize(const char *ref, Bool_t force)
Finalize query with reference ref.
If force, force new retrieve if the query is found in the local list
but has already been finalized (default kFALSE).
If ref = 0, finalize current query.
Return 0 on success, -1 on error
Int_t Retrieve(Int_t qry, const char *path)
Send retrieve request for the qry-th query in fQueries.
If path is defined save it to path.
Int_t Retrieve(const char *ref, const char *path)
Send retrieve request for the query specified by ref.
If path is defined save it to path.
Generic method working for all queries known by the server.
Int_t Remove(const char *ref, Bool_t all)
Send remove request for the query specified by ref.
If all = TRUE remove also local copies of the query, if any.
Generic method working for all queries known by the server.
This method can be also used to reset the list of queries
waiting to be processed: for that purpose use ref == "cleanupqueue".
Int_t Archive(const char *ref, const char *path)
Send archive request for the query specified by ref.
Generic method working for all queries known by the server.
If ref == "Default", path is understood as a default path for
archiving.
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
void AddInput(TObject *obj)
Add objects that might be needed during the processing of
the selector (see Process()).
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing
(see Process()).
void LogMessage(const char *msg, Bool_t all)
Log a message into the appropriate window by emitting a signal.
Int_t SendGroupView()
Send to all active slaves servers the current slave group size
and their unique id. Returns number of active slaves.
Returns -1 in case of error.
Int_t Exec(const char *cmd)
Send command to be executed on the PROOF master and/or slaves.
Command can be any legal command line command. Commands like
".x file.C" or ".L file.C" will cause the file file.C to be send
to the PROOF cluster. Returns -1 in case of error, >=0 in case of
succes.
Int_t Exec(const char *cmd, ESlaves list)
Send command to be executed on the PROOF master and/or slaves.
Command can be any legal command line command. Commands like
".x file.C" or ".L file.C" will cause the file file.C to be send
to the PROOF cluster. Returns -1 in case of error, >=0 in case of
succes.
Int_t SendCommand(const char *cmd, ESlaves list)
Send command to be executed on the PROOF master and/or slaves.
Command can be any legal command line command, however commands
like ".x file.C" or ".L file.C" will not cause the file.C to be
transfered to the PROOF cluster. In that case use TProof::Exec().
Returns the status send by the remote server as part of the
kPROOF_LOGDONE message. Typically this is the return code of the
command on the remote side. Returns -1 in case of error.
Int_t SendCurrentState(ESlaves list)
Transfer the current state of the master to the active slave servers.
The current state includes: the current working directory, etc.
Returns the number of active slaves. Returns -1 in case of error.
Int_t SendInitialState()
Transfer the initial (i.e. current) state of the master to all
slave servers. Currently the initial state includes: log level.
Returns the number of active slaves. Returns -1 in case of error.
Bool_t CheckFile(const char *file, TSlave *slave, Long_t modtime)
Check if a file needs to be send to the slave. Use the following
algorithm:
- check if file appears in file map
- if yes, get file's modtime and check against time in map,
if modtime not same get md5 and compare against md5 in map,
if not same return kTRUE.
- if no, get file's md5 and modtime and store in file map, ask
slave if file exists with specific md5, if yes return kFALSE,
if no return kTRUE.
Returns kTRUE in case file needs to be send, returns kFALSE in case
file is already on remote node.
Int_t SendFile(const char *file, Int_t opt, const char *rfile, TSlave *wrk)
Send a file to master or slave servers. Returns number of slaves
the file was sent to, maybe 0 in case master and slaves have the same
file system image, -1 in case of error.
If defined, send to worker 'wrk' only.
If defined, the full path of the remote path will be rfile.
The mask 'opt' is an or of ESendFileOpt:
kAscii (0x0) if set true ascii file transfer is used
kBinary (0x1) if set true binary file transfer is used
kForce (0x2) if not set an attempt is done to find out
whether the file really needs to be downloaded
(a valid copy may already exist in the cache
from a previous run); the bit is set by
UploadPackage, since the check is done elsewhere.
kForward (0x4) if set, ask server to forward the file to slave
or submaster (meaningless for slave servers).
Int_t SendObject(const TObject *obj, ESlaves list)
Send object to master or slave servers. Returns number of slaves object
was sent to, -1 in case of error.
Int_t SendPrint(Option_t *option)
Send print command to master server. Returns number of slaves message
was sent to. Returns -1 in case of error.
Int_t SetParallel(Int_t nodes)
Tell RPOOF how many slaves to use in parallel. Returns the number of
parallel slaves. Returns -1 in case of error.
Int_t GoParallel(Int_t nodes, Bool_t attach)
Go in parallel mode with at most "nodes" slaves. Since the fSlaves
list is sorted by slave performace the active list will contain first
the most performant nodes. Returns the number of active slaves.
Returns -1 in case of error.
void ShowCache(Bool_t all)
List contents of file cache. If all is true show all caches also on
slaves. If everything is ok all caches are to be the same.
void ShowPackages(Bool_t all)
List contents of package directory. If all is true show all package
directries also on slaves. If everything is ok all package directories
should be the same.
void ShowEnabledPackages(Bool_t all)
List which packages are enabled. If all is true show enabled packages
for all active slaves. If everything is ok all active slaves should
have the same packages enabled.
Int_t BuildPackage(const char *package)
Build specified package. Executes the PROOF-INF/BUILD.sh
script if it exists on all unique nodes.
Returns 0 in case of success and -1 in case of error.
Int_t LoadPackage(const char *package)
Load specified package. Executes the PROOF-INF/SETUP.C script
on all active nodes.
Returns 0 in case of success and -1 in case of error.
Int_t UnloadPackage(const char *package)
Unload specified package.
Returns 0 in case of success and -1 in case of error.
Int_t UnloadPackages()
Unload all packages.
Returns 0 in case of success and -1 in case of error.
Int_t EnablePackage(const char *package)
Enable specified package. Executes the PROOF-INF/BUILD.sh
script if it exists followed by the PROOF-INF/SETUP.C script.
Returns 0 in case of success and -1 in case of error.
Int_t UploadPackage(const char *tpar, EUploadPackageOpt opt)
Upload a PROOF archive (PAR file). A PAR file is a compressed
tar file with one special additional directory, PROOF-INF
(blatantly copied from Java's jar format). It must have the extension
.par. A PAR file can be directly a binary or a source with a build
procedure. In the PROOF-INF directory there can be a build script:
BUILD.sh to be called to build the package, in case of a binary PAR
file don't specify a build script or make it a no-op. Then there is
SETUP.C which sets the right environment variables to use the package,
like LD_LIBRARY_PATH, etc.
The 'opt' allows to specify whether the .PAR should be just unpacked
in the exiting dir (opt = kUntar, default) or a remove of the existing
directory should be executed (opt = kRemoveOld), so triggering a full
re-build. The option if effective only for PROOF protocol > 8 .
Returns 0 in case of success and -1 in case of error.
Int_t AddDynamicPath(const char *libpath)
Add 'libpath' to the lib path search.
Multiple paths can be specified at once separating them with a comma or
a blank.
Return 0 on success, -1 otherwise
Int_t AddIncludePath(const char *incpath)
Add 'incpath' to the inc path search.
Multiple paths can be specified at once separating them with a comma or
a blank.
Return 0 on success, -1 otherwise
Int_t RemoveDynamicPath(const char *libpath)
Remove 'libpath' from the lib path search.
Multiple paths can be specified at once separating them with a comma or
a blank.
Return 0 on success, -1 otherwise
Int_t RemoveIncludePath(const char *incpath)
Remove 'incpath' from the inc path search.
Multiple paths can be specified at once separating them with a comma or
a blank.
Return 0 on success, -1 otherwise
void Feedback(TList *objs)
Get list of feedback objects. Connect a slot to this signal
to monitor the feedback object.
void AddFeedback(const char *name)
Add object to feedback list.
void GetLog(Int_t start, Int_t end)
Ask for remote logs in the range [start, end]. If start == -1 all the
messages not yet received are sent back.
void ShowLog(const char *queryref)
Display on screen the content of the temporary log file for query
in reference
void ShowLog(Int_t qry)
Display on screen the content of the temporary log file.
If qry == -2 show messages from the last (current) query.
If qry == -1 all the messages not yet displayed are shown (default).
If qry == 0, all the messages in the file are shown.
If qry > 0, only the messages related to query 'qry' are shown.
For qry != -1 the original file offset is restored at the end
void cd(Int_t id)
Set session with 'id' the default one. If 'id' is not found in the list,
the current session is set as default
void Detach(Option_t *opt)
Detach this instance to its proofserv.
If opt is 'S' or 's' the remote server is shutdown
void SetAlias(const char *alias)
Set an alias for this session. If reconnection is supported, the alias
will be communicated to the remote coordinator so that it can be recovered
when reconnecting
Int_t UploadDataSet(const char *dataSetName, TList *files, const char *desiredDest, Int_t opt, TList *skippedFiles)
Upload a set of files and save the list of files by name dataSetName.
The 'files' argument is a list of TFileInfo objects describing the files
as first url.
The mask 'opt' is a combination of EUploadOpt:
kAppend (0x1) if set true files will be appended to
the dataset existing by given name
kOverwriteDataSet (0x2) if dataset with given name exited it
would be overwritten
kNoOverwriteDataSet (0x4) do not overwirte if the dataset exists
kOverwriteAllFiles (0x8) overwrite all files that may exist
kOverwriteNoFiles (0x10) overwrite none
kAskUser (0x0) ask user before overwriteng dataset/files
The default value is kAskUser.
The user will be asked to confirm overwriting dataset or files unless
specified opt provides the answer!
If kOverwriteNoFiles is set, then a pointer to TList must be passed as
skippedFiles argument. The function will add to this list TFileInfo
objects describing all files that existed on the cluster and were
not uploaded.
Communication Summary
Client Master
|------------>DataSetName----------->|
|<-------kMESS_OK/kMESS_NOTOK<-------| (Name OK/file exist)
(*)|-------> call CreateDataSet ------->|
(*) - optional
Int_t UploadDataSet(const char *dataSetName, const char *files, const char *desiredDest, Int_t opt, TList *skippedFiles)
Upload a set of files and save the list of files by name dataSetName.
The mask 'opt' is a combination of EUploadOpt:
kAppend (0x1) if set true files will be appended to
the dataset existing by given name
kOverwriteDataSet (0x2) if dataset with given name exited it
would be overwritten
kNoOverwriteDataSet (0x4) do not overwirte if the dataset exists
kOverwriteAllFiles (0x8) overwrite all files that may exist
kOverwriteNoFiles (0x10) overwrite none
kAskUser (0x0) ask user before overwriteng dataset/files
The default value is kAskUser.
The user will be asked to confirm overwriting dataset or files unless
specified opt provides the answer!
If kOverwriteNoFiles is set, then a pointer to TList must be passed as
skippedFiles argument. The function will add to this list TFileInfo
objects describing all files that existed on the cluster and were
not uploaded.
Int_t UploadDataSetFromFile(const char *dataset, const char *file, const char *dest, Int_t opt)
Upload files listed in "file" to PROOF cluster.
Where file = name of file containing list of files and
dataset = dataset name and opt is a combination of EUploadOpt bits.
Each file description (line) can include wildcards.
Int_t CreateDataSet(const char *dataSetName, TList *files, Int_t opt)
Create a dataSet from files existing on the cluster (listed in files)
and save it as dataSetName.
No files are uploaded nor verified to exist on the cluster
The 'files' argument is a list of TFileInfo objects describing the files
as first url.
The mask 'opt' is a combination of EUploadOpt:
kAppend (0x1) if set true files will be appended to
the dataset existing by given name
kOverwriteDataSet (0x2) if dataset with given name exited it
would be overwritten
kNoOverwriteDataSet (0x4) do not overwirte if the dataset exists
kAskUser (0x0) ask user before overwriteng dataset/files
The default value is kAskUser.
The user will be asked to confirm overwriting dataset or files unless
specified opt provides the answer!
Communication Summary
Client Master
|------------>DataSetName----------->|
|<-------kMESS_OK/kMESS_NOTOK<-------| (Name OK/file exist)
(*)|------->TList of TFileInfo -------->| (dataset to save)
(*)|<-------kMESS_OK/kMESS_NOTOK<-------| (transaction complete?)
(*) - optional
TList * GetDataSets(const char *dir)
Get TList of TObjStrings with all datasets available on master:
* with dir undifined - just ls contents of ~/proof/datasets,
* with dir == "public" - ls ~/proof/datasets/public
* with dir == "~username/public" - ls ~/username/datasets/public
void ShowDataSets(const char *dir)
Show all datasets uploaded to the cluster (just ls contents of
~/proof/datasets or user/proof/datasets/public if 'dir' is defined).
* with dir undifined - just ls contents of ~/proof/datasets,
* with dir == "public" - ls ~/proof/datasets/public
* with dir == "~username/public" - ls ~/username/datasets/public
void ShowDataSet(const char *dataset)
Show content of specific dataset (cat ~/proof/datasets/dataset).
Int_t VerifyDataSet(const char *dataSet)
Verify if all files in the specified dataset are available.
Print a list and return the number of missing files.
void ActivateWorker(const char *ord)
Make sure that the worker identified by the ordinal number 'ord' is
in the active list. The request will be forwarded to the master
in direct contact with the worker. If needed, this master will move
the worker from the inactive to the active list and rebuild the list
of unique workers.
Use ord = "*" to activate all inactive workers.
void DeactivateWorker(const char *ord)
Remove the worker identified by the ordinal number 'ord' from the
the active list. The request will be forwarded to the master
in direct contact with the worker. If needed, this master will move
the worker from the active to the inactive list and rebuild the list
of unique workers.
Use ord = "*" to deactivate all active workers.
void ModifyWorkerLists(const char *ord, Bool_t add)
Modify the worker active/inactive list by making the worker identified by
the ordinal number 'ord' active (add == TRUE) or inactive (add == FALSE).
If needed, the request will be forwarded to the master in direct contact
with the worker. The end-master will move the worker from one list to the
other active and rebuild the list of unique active workers.
Use ord = "*" to deactivate all active workers.
Author: Fons Rademakers 13/02/97
Last update: root/proof:$Name: $:$Id: TProof.cxx,v 1.151 2006/07/04 06:31:22 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.