diff --git a/UD_any/launchBatches.py b/UD_any/launchBatches.py
index befe08d8ac27920300094811f99466f85f898fbe..8af6e6a2f2c5130dcf31205f10323b1d51d19941 100755
--- a/UD_any/launchBatches.py
+++ b/UD_any/launchBatches.py
@@ -6,7 +6,7 @@ import subprocess
 
 ###############################################################################
 def printUsageAndExit() :
-  print("USAGE : %s (train | eval) (bash | oar) batchesDescription.py"%sys.argv[0],
+  print("USAGE : %s (train | eval) (bash | oar) batchesDescription.py (--time nbHours)"%sys.argv[0],
       file=sys.stderr)
   exit(1)
 ###############################################################################
@@ -18,11 +18,11 @@ def prepareExperiment(lang, template, expName) :
 ###############################################################################
 
 ###############################################################################
-def launchTrain(mode, expName, arguments, launcher) :
+def launchTrain(mode, expName, arguments, launcher, nbHours, jobIndex) :
   if launcher == "bash" :
     launchTrainBash(mode, expName, arguments)
   elif launcher == "oar" :
-    launchTrainOar(mode, expName, arguments)
+    launchTrainOar(mode, expName, arguments, nbHours, jobIndex)
   else :
     printUsageAndExit()
 ###############################################################################
@@ -35,28 +35,28 @@ def launchTrainBash(mode, expName, arguments) :
 ###############################################################################
 
 ###############################################################################
-def launchTrainOar(mode, expName, arguments) :
+def launchTrainOar(mode, expName, arguments, nbHours, jobIndex) :
   devScore = "--devScore"
 
   command = "oarsub"
-  command += " -t besteffort"
-  command += " -t idempotent"
+  command += " -t besteffort" if jobIndex > 1 else ""
+  command += " -t idempotent" if jobIndex > 1 else ""
   command += " -n train:%s"%expName
   command += " -E %s.stderr"%expName
   command += " -O %s.stdout"%expName
   command += " -p \"gpu IS NOT NULL\""
-  command += " -l walltime=15:00:00"
+  command += " -l walltime=%d:00:00"%nbHours
   command += " \"" + "./train.sh %s bin/%s %s --silent %s"%(mode,expName,arguments,devScore) + "\""
 
   os.system(command)
 ###############################################################################
 
 ###############################################################################
-def launchEval(mode, expName, launcher) :
+def launchEval(mode, expName, launcher, nbHours, jobIndex) :
   if launcher == "bash" :
     launchEvalBash(mode, expName)
   elif launcher == "oar" :
-    launchEvalOar(mode, expName)
+    launchEvalOar(mode, expName, nbHours, jobIndex)
   else :
     printUsageAndExit()
 ###############################################################################
@@ -68,14 +68,15 @@ def launchEvalBash(mode, expName) :
 ###############################################################################
 
 ###############################################################################
-def launchEvalOar(mode, expName) :
+def launchEvalOar(mode, expName,nbHours, jobIndex) :
   command = "oarsub"
-  command += " -t besteffort"
+  command += " -t besteffort" if jobIndex > 1 else ""
+  command += " -t idempotent" if jobIndex > 1 else ""
   command += " -n eval:%s"%expName
   command += " -E %s.stderr"%expName
   command += " -O %s.stdout"%expName
   command += " -p \"gpu IS NOT NULL\""
-  command += " -l walltime=2:00:00"
+  command += " -l walltime=%d:00:00"%nbHours
   command += " \"" + "./evaluate.sh %s bin/%s --silent"%(mode,expName) + "\""
 
   os.system(command)
@@ -83,18 +84,28 @@ def launchEvalOar(mode, expName) :
 
 ###############################################################################
 if __name__ == "__main__" :
-  if len(sys.argv) != 4 :
+  if len(sys.argv) < 4 :
     printUsageAndExit()
 
   mode = sys.argv[1]
   launcher = sys.argv[2]
   batchesDescription = sys.argv[3]
+  nbHours = 92
+
+  if len(sys.argv) > 4 :
+    if sys.argv[4] == "--time" :
+      if 5 not in range(4,len(sys.argv)) :
+        printUsageAndExit()
+      nbHours = int(sys.argv[5])
+    else :
+      printUsageAndExit()
 
   if mode not in ["train","eval"] or launcher not in  ["bash","oar"] :
     printUsageAndExit()
 
   desc = __import__(os.path.splitext(batchesDescription)[0])
 
+  jobIndex = 0
   for lang in desc.langs :
     for xp in desc.templatesExperiments :
       for i in range(desc.nbReplicas) :
@@ -102,9 +113,9 @@ if __name__ == "__main__" :
         xp['expName'] = xp['expName'].split('.')[0]+"."+lang+"."+str(i)
         if mode == "train" :
           prepareExperiment(xp['lang'],xp['template'],xp['expName'])
-          launchTrain(xp['mode'],xp['expName'],xp['arguments'],launcher)
+          launchTrain(xp['mode'],xp['expName'],xp['arguments'],launcher,nbHours,jobIndex)
         else :
-          launchEval(xp['mode'],xp['expName'],launcher)
+          launchEval(xp['mode'],xp['expName'],launcher,nbHours,jobIndex)
 
 ###############################################################################