include file missing
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Jan 2008 08:57:48 +0000 (08:57 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Jan 2008 08:57:48 +0000 (08:57 +0000)
SHUTTLE/AliShuttle.cxx

index 7236bec..b49d6c8 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.82  2007/12/20 16:29:43  jgrosseo
-sending number of open runs also at the end of processing
-
-Revision 1.81  2007/12/20 14:24:59  jgrosseo
-Do not increase count in case of StoreError
-
-Revision 1.80  2007/12/20 13:31:28  acolla
-Bug fix (Jan Fiete): recovering from StoreError, if the store to OCDB is successful,
-the Shuttle sets current detector's status=done
-
-Revision 1.79  2007/12/19 14:03:01  acolla
-
-detector name to build the lhcPeriod_DET is to be looked in "detector" column, not "partition"
-
-Revision 1.78  2007/12/19 11:50:41  acolla
-
-Raw data tag merged files is written in /alice/data/.../lhcPeriod_DET/runNb/raw if partition is made of DET only
-
-Revision 1.77  2007/12/19 11:16:16  acolla
-More meaningful log message added in GetFileSources
-
-Revision 1.76  2007/12/19 07:45:20  acolla
-bug fix in the name of the raw tag files (Raw instead of raw)
-
-Revision 1.75  2007/12/18 15:42:14  jgrosseo
-adding number of open runs to monitoring
-
-Revision 1.74  2007/12/17 03:23:32  jgrosseo
-several bugfixes
-added "empty preprocessor" as placeholder for Acorde in FDR
-
-Revision 1.73  2007/12/14 19:31:36  acolla
-Sending email to DCS experts is temporarily commented
-
-Revision 1.72  2007/12/13 15:44:28  acolla
-Run type added in mail sent to detector expert (eases understanding)
-
-Revision 1.71  2007/12/12 14:56:14  jgrosseo
-sending shuttle_ignore to ML also in case of 0 events
-
-Revision 1.70  2007/12/12 13:45:35  acolla
-Monalisa started in Collect() function. Alive message to monitor is sent at each Collect and every minute during preprocessor processing.
-
-Revision 1.69  2007/12/12 10:06:29  acolla
-in AliShuttle.cxx: SHUTTLE logbook is updated in case of invalid run times:
-
-time_start==0 && time_end==0
-
-logbook is NOT updated if time_start != 0 && time_end == 0, because it may mean that the run is still ongoing.
-
-Revision 1.68  2007/12/11 10:15:17  acolla
-Added marking SHUTTLE=DONE for invalid runs
-(invalid start time or end time) and runs with totalEvents < 1
-
-Revision 1.67  2007/12/07 19:14:36  acolla
-in AliShuttleTrigger:
-
-Added automatic collection of new runs on a regular time basis (settable from the configuration)
-
-in AliShuttleConfig: new members
-
-- triggerWait: time to wait for DIM trigger (s) before starting automatic collection of new runs
-- mode: run mode (test, prod) -> used to build log folder (logs or logs_PROD)
-
-in AliShuttle:
-
-- logs now stored in logs/#RUN/DET_#RUN.log
-
-Revision 1.66  2007/12/05 10:45:19  jgrosseo
-changed order of arguments to TMonaLisaWriter
-
-Revision 1.65  2007/11/26 16:58:37  acolla
-Monalisa configuration added: host and table name
-
-Revision 1.64  2007/11/13 16:15:47  acolla
-DCS map is stored in a file in the temp folder where the detector is processed.
-If the preprocessor fails, the temp folder is not removed. This will help the debugging of the problem.
-
-Revision 1.63  2007/11/02 10:53:16  acolla
-Protection added to AliShuttle::CopyFileLocally
-
-Revision 1.62  2007/10/31 18:23:13  acolla
-Furter developement on the Shuttle:
-
-- Shuttle now connects to the Grid as alidaq. The OCDB and Reference folders
-are now built from /alice/data, e.g.:
-/alice/data/2007/LHC07a/OCDB
-
-the year and LHC period are taken from the Shuttle.
-Raw metadata files are stored by GRP to:
-/alice/data/2007/LHC07a/<runNb>/Raw/RunMetadata.root
-
-- Shuttle sends a mail to DCS experts each time DP retrieval fails.
-
-Revision 1.61  2007/10/30 20:33:51  acolla
-Improved managing of temporary folders, which weren't correctly handled.
-Resolved bug introduced in StoreReferenceFile, which caused SPD preprocessor fail.
-
-Revision 1.60  2007/10/29 18:06:16  acolla
-
-New function StoreRunMetadataFile added to preprocessor and Shuttle interface
-This function can be used by GRP only. It stores raw data tags merged file to the
-raw data folder (e.g. /alice/data/2008/LHC08a/000099999/Raw).
-
-KNOWN ISSUES:
-
-1. Shuttle cannot write to /alice/data/ because it belongs to alidaq. Tag file is stored in /alice/simulation/... for the time being.
-2. Due to a bug in TAlien::Mkdir, the creation of a folder in recursive mode (-p option) does not work. The problem
-has been corrected in the root package on the Shuttle machine.
-
-Revision 1.59  2007/10/05 12:40:55  acolla
-
-Result error code added to AliDCSClient data members (it was "lost" with the new implementation of TMap* GetAliasValues and GetDPValues).
-
-Revision 1.58  2007/09/28 15:27:40  acolla
-
-AliDCSClient "multiSplit" option added in the DCS configuration
-in AliDCSMessage: variable MAX_BODY_SIZE set to 500000
-
-Revision 1.57  2007/09/27 16:53:13  acolla
-Detectors can have more than one AMANDA server. SHUTTLE queries the servers sequentially,
-merges the dcs aliases/DPs in one TMap and sends it to the preprocessor.
-
-Revision 1.56  2007/09/14 16:46:14  jgrosseo
-1) Connect and Close are called before and after each query, so one can
-keep the same AliDCSClient object.
-2) The splitting of a query is moved to GetDPValues/GetAliasValues.
-3) Splitting interval can be specified in constructor
-
-Revision 1.55  2007/08/06 12:26:40  acolla
-Function Bool_t GetHLTStatus added to preprocessor. It returns the status of HLT
-read from the run logbook.
-
-Revision 1.54  2007/07/12 09:51:25  jgrosseo
-removed duplicated log message in GetFile
-
-Revision 1.53  2007/07/12 09:26:28  jgrosseo
-updating hlt fxs base path
-
-Revision 1.52  2007/07/12 08:06:45  jgrosseo
-adding log messages in getfile... functions
-adding not implemented copy constructor in alishuttleconfigholder
-
-Revision 1.51  2007/07/03 17:24:52  acolla
-root moved to v5-16-00. TFileMerger->Cp moved to TFile::Cp.
-
-Revision 1.50  2007/07/02 17:19:32  acolla
-preprocessor is run in a temp directory that is removed when process is finished.
-
-Revision 1.49  2007/06/29 10:45:06  acolla
-Number of columns in MySql Shuttle logbook increased by one (HLT added)
-
-Revision 1.48  2007/06/21 13:06:19  acolla
-GetFileSources returns dummy list with 1 source if system=DCS (better than
-returning error as it was)
-
-Revision 1.47  2007/06/19 17:28:56  acolla
-HLT updated; missing map bug removed.
-
-Revision 1.46  2007/06/09 13:01:09  jgrosseo
-Switching to retrieval of several DCS DPs at a time (multiDPrequest)
-
-Revision 1.45  2007/05/30 06:35:20  jgrosseo
-Adding functionality to the Shuttle/TestShuttle:
-o) Function to retrieve list of sources from a given system (GetFileSources with id=0)
-o) Function to retrieve list of IDs for a given source      (GetFileIDs)
-These functions are needed for dealing with the tag files that are saved for the GRP preprocessor
-Example code has been added to the TestProcessor in TestShuttle
-
-Revision 1.44  2007/05/11 16:09:32  acolla
-Reference files for ITS, MUON and PHOS are now stored in OfflineDetName/OnlineDetName/run_...
-example: ITS/SPD/100_filename.root
-
-Revision 1.43  2007/05/10 09:59:51  acolla
-Various bug fixes in StoreRefFilesToGrid; Cleaning of reference storage before processing detector (CleanReferenceStorage)
-
-Revision 1.42  2007/05/03 08:01:39  jgrosseo
-typo in last commit :-(
-
-Revision 1.41  2007/05/03 08:00:48  jgrosseo
-fixing log message when pp want to skip dcs value retrieval
-
-Revision 1.40  2007/04/27 07:06:48  jgrosseo
-GetFileSources returns empty list in case of no files, but successful query
-No mails sent in testmode
-
-Revision 1.39  2007/04/17 12:43:57  acolla
-Correction in StoreOCDB; change of text in mail to detector expert
-
-Revision 1.38  2007/04/12 08:26:18  jgrosseo
-updated comment
-
-Revision 1.37  2007/04/10 16:53:14  jgrosseo
-redirecting sub detector stdout, stderr to sub detector log file
-
-Revision 1.35  2007/04/04 16:26:38  acolla
-1. Re-organization of function calls in TestPreprocessor to make it more meaningful.
-2. Added missing dependency in test preprocessors.
-3. in AliShuttle.cxx: processing time and memory consumption info on a single line.
-
-Revision 1.34  2007/04/04 10:33:36  jgrosseo
-1) Storing of files to the Grid is now done _after_ your preprocessors succeeded. This is transparent, which means that you can still use the same functions (Store, StoreReferenceData) to store files to the Grid. However, the Shuttle first stores them locally and transfers them after the preprocessor finished. The return code of these two functions has changed from UInt_t to Bool_t which gives you the success of the storing.
-In case of an error with the Grid, the Shuttle will retry the storing later, the preprocessor does not need to be run again.
-
-2) The meaning of the return code of the preprocessor has changed. 0 is now success and any other value means failure. This value is stored in the log and you can use it to keep details about the error condition.
-
-3) New function StoreReferenceFile to _directly_ store a file (without opening it) to the reference storage.
-
-4) The memory usage of the preprocessor is monitored. If it exceeds 2 GB it is terminated.
-
-5) New function AliPreprocessor::ProcessDCS(). If you do not need to have DCS data in all cases, you can skip the processing by implemting this function and returning kFALSE under certain conditions. E.g. if there is a certain run type.
-If you always need DCS data (like before), you do not need to implement it.
-
-6) The run type has been added to the monitoring page
-
-Revision 1.33  2007/04/03 13:56:01  acolla
-Grid Storage at the end of preprocessing. Added virtual method to disable DCS query according to the
-run type.
-
-Revision 1.32  2007/02/28 10:41:56  acolla
-Run type field added in SHUTTLE framework. Run type is read from "run type" logbook and retrieved by
-AliPreprocessor::GetRunType() function.
-Added some ldap definition files.
-
-Revision 1.30  2007/02/13 11:23:21  acolla
-Moved getters and setters of Shuttle's main OCDB/Reference, local
-OCDB/Reference, temp and log folders to AliShuttleInterface
-
-Revision 1.27  2007/01/30 17:52:42  jgrosseo
-adding monalisa monitoring
-
-Revision 1.26  2007/01/23 19:20:03  acolla
-Removed old ldif files, added TOF, MCH ldif files. Added some options in
-AliShuttleConfig::Print. Added in Ali Shuttle: SetShuttleTempDir and
-SetShuttleLogDir
-
-Revision 1.25  2007/01/15 19:13:52  acolla
-Moved some AliInfo to AliDebug in SendMail function
-
-Revision 1.21  2006/12/07 08:51:26  jgrosseo
-update (alberto):
-table, db names in ldap configuration
-added GRP preprocessor
-DCS data can also be retrieved by data point
-
-Revision 1.20  2006/11/16 16:16:48  jgrosseo
-introducing strict run ordering flag
-removed giving preprocessor name to preprocessor, they have to know their name themselves ;-)
-
-Revision 1.19  2006/11/06 14:23:04  jgrosseo
-major update (Alberto)
-o) reading of run parameters from the logbook
-o) online offline naming conversion
-o) standalone DCSclient package
-
-Revision 1.18  2006/10/20 15:22:59  jgrosseo
-o) Adding time out to the execution of the preprocessors: The Shuttle forks and the parent process monitors the child
-o) Merging Collect, CollectAll, CollectNew function
-o) Removing implementation of empty copy constructors (declaration still there!)
-
-Revision 1.17  2006/10/05 16:20:55  jgrosseo
-adapting to new CDB classes
-
-Revision 1.16  2006/10/05 15:46:26  jgrosseo
-applying to the new interface
-
-Revision 1.15  2006/10/02 16:38:39  jgrosseo
-update (alberto):
-fixed memory leaks
-storing of objects that failed to be stored to the grid before
-interfacing of shuttle status table in daq system
-
-Revision 1.14  2006/08/29 09:16:05  jgrosseo
-small update
-
-Revision 1.13  2006/08/15 10:50:00  jgrosseo
-effc++ corrections (alberto)
-
-Revision 1.12  2006/08/08 14:19:29  jgrosseo
-Update to shuttle classes (Alberto)
-
-- Possibility to set the full object's path in the Preprocessor's and
-Shuttle's  Store functions
-- Possibility to extend the object's run validity in the same classes
-("startValidity" and "validityInfinite" parameters)
-- Implementation of the StoreReferenceData function to store reference
-data in a dedicated CDB storage.
-
-Revision 1.11  2006/07/21 07:37:20  jgrosseo
-last run is stored after each run
-
-Revision 1.10  2006/07/20 09:54:40  jgrosseo
-introducing status management: The processing per subdetector is divided into several steps,
-after each step the status is stored on disk. If the system crashes in any of the steps the Shuttle
-can keep track of the number of failures and skips further processing after a certain threshold is
-exceeded. These thresholds can be configured in LDAP.
-
-Revision 1.9  2006/07/19 10:09:55  jgrosseo
-new configuration, accesst to DAQ FES (Alberto)
-
-Revision 1.8  2006/07/11 12:44:36  jgrosseo
-adding parameters for extended validity range of data produced by preprocessor
-
-Revision 1.7  2006/07/10 14:37:09  jgrosseo
-small fix + todo comment
-
-Revision 1.6  2006/07/10 13:01:41  jgrosseo
-enhanced storing of last sucessfully processed run (alberto)
-
-Revision 1.5  2006/07/04 14:59:57  jgrosseo
-revision of AliDCSValue: Removed wrapper classes, reduced storage size per value by factor 2
-
-Revision 1.4  2006/06/12 09:11:16  jgrosseo
-coding conventions (Alberto)
-
-Revision 1.3  2006/06/06 14:26:40  jgrosseo
-o) removed files that were moved to STEER
-o) shuttle updated to follow the new interface (Alberto)
-
-Revision 1.2  2006/03/07 07:52:34  hristov
-New version (B.Yordanov)
-
-Revision 1.6  2005/11/19 17:19:14  byordano
-RetrieveDATEEntries and RetrieveConditionsData added
-
-Revision 1.5  2005/11/19 11:09:27  byordano
-AliShuttle declaration added
-
-Revision 1.4  2005/11/17 17:47:34  byordano
-TList changed to TObjArray
-
-Revision 1.3  2005/11/17 14:43:23  byordano
-import to local CVS
-
-Revision 1.1.1.1  2005/10/28 07:33:58  hristov
-Initial import as subdirectory in AliRoot
-
-Revision 1.2  2005/09/13 08:41:15  byordano
-default startTime endTime added
-
-Revision 1.4  2005/08/30 09:13:02  byordano
-some docs added
-
-Revision 1.3  2005/08/29 21:15:47  byordano
-some docs added
-
-*/
+/* $Id:$ */
 
 //
 // This class is the main manager for AliShuttle. 
 
 //
 // This class is the main manager for AliShuttle. 
@@ -413,6 +65,8 @@ some docs added
 #include <sys/types.h>
 #include <sys/wait.h>
 
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#include <signal.h>
+
 ClassImp(AliShuttle)
 
 //______________________________________________________________________________________________
 ClassImp(AliShuttle)
 
 //______________________________________________________________________________________________