====== HOW-TO ====== Process Completed Jobs ====================== From the gateway (``lbboinc01.cern.ch``) have a look at the requests - ``dirac-rms-request --Job `` - check if output files are registered and/or do exists at SE with ``dirac-dms-pfn-exists `` - check if output files that do not exists @CERN have descendants with (on lxplus) ``dirac-bookkeeping-get-file-descendants --All --Depth=100 `` - if files have already descendants * update the job status to 'Done' * remove the files @BOINC-SE-01 if needed with ``dirac-dms-remove-files -o "/DIRAC/Security/UseServerCertificate=No" ``, using a valid Proxy (must be in ``/tmp/x509up_uNNNNN`` and exported to the env ``export X509_USER_PROXY=/tmp/x509up_uNNNNN``) - if files are @CERN * update the job status to 'Done' * DO NOT REMOVE the files! - if files have neither descendants nor are @CERN nor @BOINC-SE * KILL the job - dispose the LOG files properly (simply remove them if still registered @BOINC) Remove files (triggered by Vlad) ================================ From lbboinc01.cern.ch - double check if files are registered in the FC and/or do exists at the SE with ``dirac-dms-lfn-replicas `` and/or ``dirac-dms-pfn-exists `` - if files do not exists (anymore) @CERN-BUFFER, double check if they have descendants with (on lxplus) ``dirac-bookkeeping-get-file-descendants --All --Depth=100 `` - double check the status of the Job(s) and update it accordingly - if everything is ok, then Using a valid Proxy (must be in ``/tmp/x509up_uNNNNN`` and exported to the env ``export X509_USER_PROXY=/tmp/x509up_uNNNNN``): - ``dirac-dms-remove-files -o "/DIRAC/Security/UseServerCertificate=No" `` this will remove file(s) both from SE and catalog. If the file(s) is not registered in the catalog but exists on SE (or for checking if it does exist in the SE) - use the script ``remove-LFN-from-SE.py`` remove-LFN-from-SE.py ^^^^^^^^^^^^^^^^^^^^^ :: from DIRAC.Core.Base.Script import parseCommandLine parseCommandLine() from DIRAC.Resources.Storage.StorageElement import StorageElement se = StorageElement('BOINC-SE-01') lfns = [] #se.exists(lfns) #se.removeFile(lfns)