Logo ROOT   6.16/01
Reference Guide
TXProofMgr.h
Go to the documentation of this file.
1// @(#)root/proofx:$Id$
2// Author: G. Ganis, Nov 2005
3
4/*************************************************************************
5 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TXProofMgr
13#define ROOT_TXProofMgr
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TXProofMgr //
19// //
20// The PROOF manager interacts with the PROOF server coordinator to //
21// create or destroy a PROOF session, attach to or detach from //
22// existing one, and to monitor any client activity on the cluster. //
23// At most one manager instance per server is allowed. //
24// //
25//////////////////////////////////////////////////////////////////////////
26
27#include "TProofMgr.h"
28#include "TUrl.h"
29#include "TXHandler.h"
30
31//
32// XPROOF client version: increase whenever a non backward compatible
33// change occur
34// ->1 first version being tested by ALICE
36
37class TStopwatch;
38class TXSocket;
39
40class TXProofMgr : public TProofMgr, public TXHandler {
41
42private:
43
44 TXSocket *fSocket; // Connection to XRD
45
46 Int_t Init(Int_t loglevel = -1);
47
48 void CpProgress(const char *pfx, Long64_t bytes,
49 Long64_t size, TStopwatch *watch, Bool_t cr = kFALSE);
50 TObjString *Exec(Int_t action,
51 const char *what, const char *how, const char *where);
52
53public:
54 TXProofMgr(const char *url, Int_t loglevel = -1, const char *alias = "");
55 virtual ~TXProofMgr();
56
57 Bool_t HandleInput(const void *);
58 Bool_t HandleError(const void *in = 0);
59
60 Bool_t IsValid() const { return fSocket; }
61 void SetInvalid();
62
64 { return TProofMgr::AttachSession(id, gui); }
66 void DetachSession(Int_t, Option_t * = "");
67 void DetachSession(TProof *, Option_t * = "");
68 const char *GetMssUrl(Bool_t = kFALSE);
69 TProofLog *GetSessionLogs(Int_t ridx = 0, const char *stag = 0,
70 const char *pattern = "-v \"| SvcMsg\"",
71 Bool_t rescan = kFALSE);
72 Bool_t MatchUrl(const char *url);
73 void ShowROOTVersions();
74 TList *QuerySessions(Option_t *opt = "S");
75 TObjString *ReadBuffer(const char *file, Long64_t ofs, Int_t len);
76 TObjString *ReadBuffer(const char *file, const char *pattern);
77 Int_t Reset(Bool_t hard = kFALSE, const char *usr = 0);
78 Int_t SendMsgToUsers(const char *msg, const char *usr = 0);
79 Int_t SetROOTVersion(const char *tag);
80 void ShowWorkers();
81
82 // Remote file system actions
83 Int_t Cp(const char *src, const char *dst = 0, const char *opts = 0);
84 void Find(const char *what = "~/", const char *how = "-type f", const char *where = 0);
85 void Grep(const char *what, const char *how = 0, const char *where = 0);
86 void Ls(const char *what = "~/", const char *how = 0, const char *where = 0);
87 void More(const char *what, const char *how = 0, const char *where = 0);
88 Int_t Rm(const char *what, const char *how = 0, const char *where = 0);
89 void Tail(const char *what, const char *how = 0, const char *where = 0);
90 Int_t Md5sum(const char *what, TString &sum, const char *where = 0);
91 Int_t Stat(const char *what, FileStat_t &st, const char *where = 0);
92
93 Int_t GetFile(const char *remote, const char *local, const char *opt = 0);
94 Int_t PutFile(const char *local, const char *remote, const char *opt = 0);
95
96 ClassDef(TXProofMgr,0) // XrdProofd PROOF manager interface
97};
98
99#endif
#define d(i)
Definition: RSha256.hxx:102
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
const Int_t kXPROOF_Protocol
Definition: TXProofMgr.h:35
A doubly linked list.
Definition: TList.h:44
Collectable string class.
Definition: TObjString.h:28
Implementation of the PROOF session log handler.
Definition: TProofLog.h:32
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
Definition: TProofMgr.h:43
virtual TProof * AttachSession(Int_t, Bool_t=kFALSE)
Dummy version provided for completeness.
Definition: TProofMgr.cxx:123
This class controls a Parallel ROOT Facility, PROOF, cluster.
Definition: TProof.h:316
Stopwatch class.
Definition: TStopwatch.h:28
Basic string class.
Definition: TString.h:131
Handler of asynchronous events for XProofD sockets.
Definition: TXHandler.h:28
Implementation of the functionality provided by TProofMgr in the case of a xproofd-based session.
Definition: TXProofMgr.h:40
Int_t Md5sum(const char *what, TString &sum, const char *where=0)
Run 'md5sum' on one of the nodes.
void Ls(const char *what="~/", const char *how=0, const char *where=0)
Run 'ls' on the nodes.
Definition: TXProofMgr.cxx:936
void Tail(const char *what, const char *how=0, const char *where=0)
Run 'tail' on the nodes.
Int_t PutFile(const char *local, const char *remote, const char *opt=0)
Put file 'local'to 'remote' to the master If opt is "force", the file, if it exists remotely,...
Bool_t HandleError(const void *in=0)
Handle error on the input socket.
Definition: TXProofMgr.cxx:513
void CpProgress(const char *pfx, Long64_t bytes, Long64_t size, TStopwatch *watch, Bool_t cr=kFALSE)
Print file copy progress.
virtual ~TXProofMgr()
Destructor: close the connection.
Definition: TXProofMgr.cxx:159
void More(const char *what, const char *how=0, const char *where=0)
Run 'more' on the nodes.
Definition: TXProofMgr.cxx:962
Bool_t MatchUrl(const char *url)
Checks if 'url' refers to the same 'user@host:port' entity as the URL in memory.
Definition: TXProofMgr.cxx:308
TXSocket * fSocket
Definition: TXProofMgr.h:44
Int_t Stat(const char *what, FileStat_t &st, const char *where=0)
Run 'stat' on one of the nodes.
TObjString * ReadBuffer(const char *file, Long64_t ofs, Int_t len)
Read, via the coordinator, 'len' bytes from offset 'ofs' of 'file'.
Definition: TXProofMgr.cxx:680
void Find(const char *what="~/", const char *how="-type f", const char *where=0)
Run 'find' on the nodes.
Definition: TXProofMgr.cxx:909
TXProofMgr(const char *url, Int_t loglevel=-1, const char *alias="")
Create a PROOF manager for the standard (old) environment.
Definition: TXProofMgr.cxx:101
Int_t Cp(const char *src, const char *dst=0, const char *opts=0)
Copy files in/out of the sandbox.
const char * GetMssUrl(Bool_t=kFALSE)
Gets the URL to be prepended to paths when accessing the MSS associated with the connected cluster,...
Definition: TXProofMgr.cxx:369
TProofLog * GetSessionLogs(Int_t ridx=0, const char *stag=0, const char *pattern="-v \"| SvcMsg\"", Bool_t rescan=kFALSE)
Get logs or log tails from last session associated with this manager instance.
Definition: TXProofMgr.cxx:592
Int_t Init(Int_t loglevel=-1)
Do real initialization: open the connection and set the relevant variables.
Definition: TXProofMgr.cxx:122
TObjString * Exec(Int_t action, const char *what, const char *how, const char *where)
Execute 'action' (see EAdminExecType in 'XProofProtocol.h') at 'where' (default master),...
Int_t Rm(const char *what, const char *how=0, const char *where=0)
Run 'rm' on the nodes.
Definition: TXProofMgr.cxx:990
void ShowROOTVersions()
Display what ROOT versions are available on the cluster.
Definition: TXProofMgr.cxx:731
Bool_t IsValid() const
Definition: TXProofMgr.h:60
void ShowWorkers()
Show available workers.
Definition: TXProofMgr.cxx:343
Int_t SetROOTVersion(const char *tag)
Set the default ROOT version to be used.
Definition: TXProofMgr.cxx:757
void DetachSession(Int_t, Option_t *="")
Detach session with 'id' from its proofserv.
Definition: TXProofMgr.cxx:236
Int_t SendMsgToUsers(const char *msg, const char *usr=0)
Send a message to connected users.
Definition: TXProofMgr.cxx:780
TList * QuerySessions(Option_t *opt="S")
Get list of sessions accessible to this manager.
Definition: TXProofMgr.cxx:403
Int_t GetFile(const char *remote, const char *local, const char *opt=0)
Get file 'remote' into 'local' from the master.
void SetInvalid()
Invalidate this manager by closing the connection.
Definition: TXProofMgr.cxx:167
Bool_t HandleInput(const void *)
Handle asynchronous input on the socket.
Definition: TXProofMgr.cxx:485
TProof * AttachSession(Int_t id, Bool_t gui=kFALSE)
Dummy version provided for completeness.
Definition: TXProofMgr.h:63
void Grep(const char *what, const char *how=0, const char *where=0)
Run 'grep' on the nodes.
Definition: TXProofMgr.cxx:883
Int_t Reset(Bool_t hard=kFALSE, const char *usr=0)
Send a cleanup request for the sessions associated with the current user.
Definition: TXProofMgr.cxx:557
High level handler of connections to XProofD.
Definition: TXSocket.h:59
Definition: file.py:1
static long int sum(long int i)
Definition: Factory.cxx:2258