Definition at line 601 of file pTools.py.
◆ __init__()
def GaudiMP.pTools.Syncer.__init__ |
( |
|
self, |
|
|
|
nWorkers, |
|
|
|
log, |
|
|
|
manyEvents = False , |
|
|
|
limit = None , |
|
|
|
step = None , |
|
|
|
firstEvent = None |
|
) |
| |
Definition at line 602 of file pTools.py.
613 self.manyEvents = manyEvents
615 for i
in range(-2, nWorkers):
616 self.d[i] = SyncMini(Event(), lastEvent=Event())
618 self.limitFirst = firstEvent
620 self.keys = self.d.
keys()
621 self.nWorkers = nWorkers
◆ checkAll()
def GaudiMP.pTools.Syncer.checkAll |
( |
|
self | ) |
|
Definition at line 714 of file pTools.py.
717 currentStatus = [mini.check()
for mini
in self.d.values()]
718 return all(currentStatus)
◆ checkLastEvents()
def GaudiMP.pTools.Syncer.checkLastEvents |
( |
|
self | ) |
|
Definition at line 720 of file pTools.py.
720 def checkLastEvents(self):
722 stat = [sMini.checkLast()
for sMini
in self.d.values()]
◆ processHang()
def GaudiMP.pTools.Syncer.processHang |
( |
|
self | ) |
|
Definition at line 708 of file pTools.py.
708 def processHang(self):
709 self.log.critical(
'Some proc is hanging during Event processing!')
711 self.log.critical(
"Proc/Stat : %i / %s" % (k, self.d[k].
check()))
◆ syncAll()
def GaudiMP.pTools.Syncer.syncAll |
( |
|
self, |
|
|
|
step = "Not specified" |
|
) |
| |
Definition at line 624 of file pTools.py.
624 def syncAll(self, step="Not specified"):
629 sc = self.syncAllRolling()
633 for i
in range(0, self.limit, self.step):
635 self.log.info(
'%s : All procs done @ %i s' % (step, i))
638 time.sleep(self.step)
642 self.log.info(
"All processes : %s ok." % (step))
645 self.log.critical(
'Some process is hanging on : %s' % (step))
647 hangString =
"%s : Proc/Stat : %i/%s" % (step, k,
649 self.log.critical(hangString)
◆ syncAllRolling()
def GaudiMP.pTools.Syncer.syncAllRolling |
( |
|
self | ) |
|
Definition at line 652 of file pTools.py.
652 def syncAllRolling(self):
674 if sMini.check()
or sMini.checkLast():
675 if sMini.checkLast()
and sMini.check():
678 alive = time.time() - begin
680 "Audit : Node %i alive for %5.2f" % (k, alive))
686 wait = time.time() - sMini.getTime()
687 cond = wait > self.limit
689 cond = wait > self.limitFirst
693 self.log.critical(
'Single event wait : %5.2f' % (wait))
698 if self.checkLastEvents():
699 self.log.info(
'TC met for event loop')
703 time.sleep(self.step)
705 self.log.info(
"All processes Completed all Events ok")
◆ keys
GaudiMP.pTools.Syncer.keys |
◆ limit
GaudiMP.pTools.Syncer.limit |
◆ limitFirst
GaudiMP.pTools.Syncer.limitFirst |
◆ log
GaudiMP.pTools.Syncer.log |
◆ manyEvents
GaudiMP.pTools.Syncer.manyEvents |
◆ nWorkers
GaudiMP.pTools.Syncer.nWorkers |
◆ step
GaudiMP.pTools.Syncer.step |
The documentation for this class was generated from the following file: