def wait(self, dt = 0.001):
count = 0
done = False
while(not done):
with self.active.get_lock():
if self.active.value == 0:
done=True
#check for exceptions
try:
error = self.error_q.get(block=False)
self.proc.terminate()
raise(error)
exit(1)
except queue.Empty:
pass
#check if process has stopped
# if self.ps_proc.status() == psutil.STATUS_ZOMBIE or self.ps_proc.status() == psutil.STATUS_DEAD:
# raise Exception("Worker died prematurely: " + self.gpu)
time.sleep(dt)
count += 1
return count*dt
评论列表
文章目录