diff options
Diffstat (limited to 'src/software')
-rw-r--r-- | src/software/lmi/software/yumdb/__init__.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/software/lmi/software/yumdb/__init__.py b/src/software/lmi/software/yumdb/__init__.py index b1e26d2..470aaf8 100644 --- a/src/software/lmi/software/yumdb/__init__.py +++ b/src/software/lmi/software/yumdb/__init__.py @@ -45,6 +45,7 @@ import yum from lmi.common import singletonmixin from lmi.common.IndicationManager import IndicationManager +from lmi.software.util import Configuration from lmi.software.util import cmpi_logging from lmi.software.util import get_signal_name from lmi.software.yumdb import jobs @@ -68,8 +69,8 @@ def log_reply_error(job, reply): # asynchronous job return if not isinstance(reply, jobs.YumJob): - raise TypeError('expected instance of jobs.YumJob for reply, not "%s"' % - reply.__class__.__name__) + raise TypeError('expected instance of jobs.YumJob for reply, not "%s"' + % reply.__class__.__name__) if reply.result == jobs.YumJob.RESULT_ERROR: LOG().error("%s failed with error %s: %s", job, reply.result_data[0].__name__, str(reply.result_data[1])) @@ -248,11 +249,12 @@ class YumDB(singletonmixin.Singleton): In case, that worker process terminated due to some error. Restart it and resend all the job requests again. """ + timeout = Configuration.get_instance().get_safe( + 'Jobs', 'WaitCompleteTimeout', float) while True: LOG().debug("[jobid=%d] blocking on downlink queue", job.jobid) try: - jobout = self._worker.downlink.get( - block=True, timeout=MAX_JOB_WAIT_TIME) + jobout = self._worker.downlink.get(block=True, timeout=timeout) if jobout.jobid == job.jobid: LOG().debug("[jobid=%d] received desired reply", job.jobid) with self._reply_lock: @@ -268,7 +270,7 @@ class YumDB(singletonmixin.Singleton): self._reply_cond.notifyAll() except TQueue.Empty: LOG().warn("[jobid=%d] wait for job reply timeout" - "(%d seconds) occured", job.jobid, MAX_JOB_WAIT_TIME) + "(%d seconds) occured", job.jobid, timeout) self._handle_reply_timeout(job) @cmpi_logging.trace_method |