Revision 56d8ff91 lib/jqueue.py

b/lib/jqueue.py
961 961
      utils.RemoveFile(constants.JOB_QUEUE_DRAIN_FILE)
962 962
    return True
963 963

  
964
  @utils.LockedMethod
965 964
  @_RequireOpenQueue
966
  def SubmitJob(self, ops):
965
  def _SubmitJobUnlocked(self, ops):
967 966
    """Create and store a new job.
968 967

  
969 968
    This enters the job into our job queue and also puts it on the new
......
977 976

  
978 977
    """
979 978
    if self._IsQueueMarkedDrain():
980
      raise errors.JobQueueDrainError()
979
      raise errors.JobQueueDrainError("Job queue is drained, refusing job")
981 980

  
982 981
    # Check job queue size
983 982
    size = len(self._ListJobFiles())
......
1005 1004

  
1006 1005
    return job.id
1007 1006

  
1007
  @utils.LockedMethod
1008
  @_RequireOpenQueue
1009
  def SubmitJob(self, ops):
1010
    """Create and store a new job.
1011

  
1012
    @see: L{_SubmitJobUnlocked}
1013

  
1014
    """
1015
    return self._SubmitJobUnlocked(ops)
1016

  
1017
  @utils.LockedMethod
1018
  @_RequireOpenQueue
1019
  def SubmitManyJobs(self, jobs):
1020
    """Create and store multiple jobs.
1021

  
1022
    @see: L{_SubmitJobUnlocked}
1023

  
1024
    """
1025
    results = []
1026
    for ops in jobs:
1027
      try:
1028
        data = self._SubmitJobUnlocked(ops)
1029
        status = True
1030
      except errors.GenericError, err:
1031
        data = str(err)
1032
        status = False
1033
      results.append((status, data))
1034

  
1035
    return results
1036

  
1037

  
1008 1038
  @_RequireOpenQueue
1009 1039
  def UpdateJobUnlocked(self, job):
1010 1040
    """Update a job's on disk storage.

Also available in: Unified diff