File indexing completed on 2023-03-17 11:15:47
0001
0002
0003
0004
0005 from __future__ import print_function
0006 from builtins import range
0007 if __name__ == '__main__':
0008
0009 import PhysicsTools.HeppyCore.utils.eostools as eostools
0010 eostools.setCAFPath()
0011
0012 from cmsIO import *
0013 from cmsStage import *
0014
0015 import sys, time
0016
0017
0018 argv = sys.argv[1:]
0019 (args, debug, force ) = parseOpts( argv )
0020
0021 if not os.path.isfile(args[0]):
0022 print(args[0], 'does not exist.')
0023 sys.exit(1)
0024 source = cmsFile( args[0], "rfio" )
0025 destination = cmsFile( args[1], "stageout" )
0026 checkArgs( source, destination, force )
0027
0028
0029 dest = args[1]
0030 if eostools.isDirectory(dest):
0031 dest = os.path.join(dest,os.path.basename(args[0]))
0032
0033 sleep_lengths = [1,10,60,600,1800]
0034 return_code = 0
0035 for i in range(5):
0036
0037
0038 time.sleep(sleep_lengths[i])
0039
0040 try:
0041
0042 print('cmsStage %s [%d/5]' % (' '.join(argv) , i+1))
0043 main(argv)
0044
0045 except SystemExit as e:
0046 print("cmsStage exited with code '%s'. Retrying... [%d/5]" % ( str(e), i+1 ))
0047 return_code = e.code
0048
0049
0050 time.sleep(3)
0051
0052 if eostools.fileExists(dest) and eostools.isFile(dest):
0053 if source.size() == destination.size():
0054 return_code = 0
0055 break
0056
0057 sys.exit(return_code)