diff --git a/etc/ProdOfflineConfiguration.py b/etc/ProdOfflineConfiguration.py index a3ce0a014..3ce23235b 100644 --- a/etc/ProdOfflineConfiguration.py +++ b/etc/ProdOfflineConfiguration.py @@ -29,6 +29,7 @@ from T0.RunConfig.Tier0Config import setStorageSite from T0.RunConfig.Tier0Config import setExtraStreamDatasetMap from T0.RunConfig.Tier0Config import setHelperAgentStreams +from T0.RunConfig.Tier0Config import setCustomRequestTimeout # Create the Tier0 configuration object tier0Config = createTier0Config() @@ -60,6 +61,7 @@ # Data type # Processing site (where jobs run) # PhEDEx locations +setCustomRequestTimeout(tier0Config, 540) setAcquisitionEra(tier0Config, "Run2025A") setEmulationAcquisitionEra(tier0Config, "Emulation2025") setBaseRequestPriority(tier0Config, 251000) diff --git a/etc/ReplayOfflineConfiguration.py b/etc/ReplayOfflineConfiguration.py index 98a6c59bb..69292ed01 100644 --- a/etc/ReplayOfflineConfiguration.py +++ b/etc/ReplayOfflineConfiguration.py @@ -29,6 +29,7 @@ from T0.RunConfig.Tier0Config import setStorageSite from T0.RunConfig.Tier0Config import setExtraStreamDatasetMap from T0.RunConfig.Tier0Config import setHelperAgentStreams +from T0.RunConfig.Tier0Config import setCustomRequestTimeout # Create the Tier0 configuration object tier0Config = createTier0Config() @@ -80,6 +81,7 @@ # Data type # Processing site (where jobs run) # PhEDEx locations +setCustomRequestTimeout(tier0Config, 540) setAcquisitionEra(tier0Config, "Tier0_REPLAY_2025") setBaseRequestPriority(tier0Config, 260000) setBackfill(tier0Config, 1) diff --git a/src/python/T0/RunConfig/RunConfigAPI.py b/src/python/T0/RunConfig/RunConfigAPI.py index dbdaf39f0..cff76cc76 100644 --- a/src/python/T0/RunConfig/RunConfigAPI.py +++ b/src/python/T0/RunConfig/RunConfigAPI.py @@ -584,6 +584,7 @@ def configureRunStream(tier0Config, run, stream, specDirectory, dqmUploadProxy): specArguments['MaxInputEvents'] = streamConfig.Repack.MaxInputEvents specArguments['MaxInputFiles'] = streamConfig.Repack.MaxInputFiles specArguments['MaxLatency'] = streamConfig.Repack.MaxLatency + specArguments['CustomRequestTimeout'] = tier0Config.Global.CustomRequestTimeout # parameters for repack direct to merge stageout specArguments['MinMergeSize'] = streamConfig.Repack.MinInputSize @@ -1081,6 +1082,7 @@ def releasePromptReco(tier0Config, specDirectory, dqmUploadProxy): specArguments['EnableHarvesting'] = "True" specArguments['DQMUploadProxy'] = dqmUploadProxy specArguments['DQMUploadUrl'] = runInfo['dqmuploadurl'] + specArguments['CustomRequestTimeout'] = tier0Config.Global.CustomRequestTimeout factory = PromptRecoWorkloadFactory() wmSpec = factory.factoryWorkloadConstruction(workflowName, specArguments) diff --git a/src/python/T0/RunConfig/Tier0Config.py b/src/python/T0/RunConfig/Tier0Config.py index 34c9899e1..9056d7953 100644 --- a/src/python/T0/RunConfig/Tier0Config.py +++ b/src/python/T0/RunConfig/Tier0Config.py @@ -628,6 +628,15 @@ def setAcquisitionEra(config, acquisitionEra): config.Global.AcquisitionEra = acquisitionEra return +def setCustomRequestTimeout(config, customRequestTimeout): + """ + _setCustomRequestTimeout_ + + Allow T0 to modify the request timeout in case of networking delays + """ + config.Global.CustomRequestTimeout = customRequestTimeout + return + def setEmulationAcquisitionEra(config, emulationAcquisitionEra): """ _setEmulationAcquisitionEra_