Revision 2971c913 lib/jqueue.py

b/lib/jqueue.py
943 943
      utils.RemoveFile(constants.JOB_QUEUE_DRAIN_FILE)
944 944
    return True
945 945

  
946
  @utils.LockedMethod
947 946
  @_RequireOpenQueue
948
  def SubmitJob(self, ops):
947
  def _SubmitJobUnlocked(self, ops):
949 948
    """Create and store a new job.
950 949

  
951 950
    This enters the job into our job queue and also puts it on the new
......
959 958

  
960 959
    """
961 960
    if self._IsQueueMarkedDrain():
962
      raise errors.JobQueueDrainError()
961
      raise errors.JobQueueDrainError("Job queue is drained, refusing job")
963 962

  
964 963
    # Check job queue size
965 964
    size = len(self._ListJobFiles())
......
987 986

  
988 987
    return job.id
989 988

  
989
  @utils.LockedMethod
990
  @_RequireOpenQueue
991
  def SubmitJob(self, ops):
992
    """Create and store a new job.
993

  
994
    @see: L{_SubmitJobUnlocked}
995

  
996
    """
997
    return self._SubmitJobUnlocked(ops)
998

  
999
  @utils.LockedMethod
1000
  @_RequireOpenQueue
1001
  def SubmitManyJobs(self, jobs):
1002
    """Create and store multiple jobs.
1003

  
1004
    @see: L{_SubmitJobUnlocked}
1005

  
1006
    """
1007
    results = []
1008
    for ops in jobs:
1009
      try:
1010
        data = self._SubmitJobUnlocked(ops)
1011
        status = True
1012
      except errors.GenericError, err:
1013
        data = str(err)
1014
        status = False
1015
      results.append((status, data))
1016

  
1017
    return results
1018

  
1019

  
990 1020
  @_RequireOpenQueue
991 1021
  def UpdateJobUnlocked(self, job):
992 1022
    """Update a job's on disk storage.

Also available in: Unified diff