Definition at line 629 of file pTools.py.
◆ __init__()
def GaudiMP.pTools.Syncer.__init__ |
( |
|
self, |
|
|
|
nWorkers, |
|
|
|
log, |
|
|
|
manyEvents = False , |
|
|
|
limit = None , |
|
|
|
step = None , |
|
|
|
firstEvent = None |
|
) |
| |
Definition at line 630 of file pTools.py.
631 self, nWorkers, log, manyEvents=False, limit=None, step=None, firstEvent=None
637 self.manyEvents = manyEvents
639 for i
in range(-2, nWorkers):
640 self.d[i] = SyncMini(Event(), lastEvent=Event())
642 self.limitFirst = firstEvent
644 self.keys = self.d.
keys()
645 self.nWorkers = nWorkers
◆ checkAll()
def GaudiMP.pTools.Syncer.checkAll |
( |
|
self | ) |
|
Definition at line 736 of file pTools.py.
739 currentStatus = [mini.check()
for mini
in self.d.values()]
740 return all(currentStatus)
◆ checkLastEvents()
def GaudiMP.pTools.Syncer.checkLastEvents |
( |
|
self | ) |
|
Definition at line 742 of file pTools.py.
742 def checkLastEvents(self):
744 stat = [sMini.checkLast()
for sMini
in self.d.values()]
◆ processHang()
def GaudiMP.pTools.Syncer.processHang |
( |
|
self | ) |
|
Definition at line 730 of file pTools.py.
730 def processHang(self):
731 self.log.critical(
"Some proc is hanging during Event processing!")
733 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 648 of file pTools.py.
648 def syncAll(self, step="Not specified"):
653 sc = self.syncAllRolling()
657 for i
in range(0, self.limit, self.step):
659 self.log.info(
"%s : All procs done @ %i s" % (step, i))
662 time.sleep(self.step)
666 self.log.info(
"All processes : %s ok." % (step))
669 self.log.critical(
"Some process is hanging on : %s" % (step))
671 hangString =
"%s : Proc/Stat : %i/%s" % (step, k, self.d[k].
check())
672 self.log.critical(hangString)
◆ syncAllRolling()
def GaudiMP.pTools.Syncer.syncAllRolling |
( |
|
self | ) |
|
Definition at line 675 of file pTools.py.
675 def syncAllRolling(self):
697 if sMini.check()
or sMini.checkLast():
698 if sMini.checkLast()
and sMini.check():
701 alive = time.time() - begin
702 self.log.info(
"Audit : Node %i alive for %5.2f" % (k, alive))
708 wait = time.time() - sMini.getTime()
709 cond = wait > self.limit
711 cond = wait > self.limitFirst
715 self.log.critical(
"Single event wait : %5.2f" % (wait))
720 if self.checkLastEvents():
721 self.log.info(
"TC met for event loop")
725 time.sleep(self.step)
727 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: