コード例 #1
0
ファイル: usage.py プロジェクト: atombaby/python-moab
            pvc = pvc + self.users[ user ]['private'][1]
            pbn = pbn + self.users[ user ]['public'][0]
            pbc = pbc + self.users[ user ]['public'][1]
        return [ pvn, pvc, pbn, pbc ]

    def userSummary( self, user ):
        return[
            self.users[ user ]['private'][0],
            self.users[ user ]['private'][1],
            self.users[ user ]['public'][0],
            self.users[ user ]['public'][1],
        ]


r = et.fromstring(
    s.doCommand( [ "mdiag", "--xml", '-r', ] )
)

reserved_nodes = {}

for q in r.findall( 'rsv' ):
    rsv = Reservation( q.attrib )
    if 'STANDINGRSV' in rsv.flags:
        reserved_nodes.update( rsv.AllocNodeList )

r = et.fromstring(
    s.doCommand( [ "mdiag", "--xml", '-j', ] )
)

# total = {'acctname':AS()}}
total = {}
コード例 #2
0
ファイル: inuse.py プロジェクト: atombaby/python-moab
# ckang2 16
# syin2 2
# krcurtis 1
# Free 62
# Total 1496


from scheduler import Scheduler
from mtypes import Job
import xml.etree.ElementTree as et

s = Scheduler()
summary = {}

r = et.fromstring(
    s.doCommand( [ "showq", "--xml", '-r', ] )
)

# Used/free stats are in the "cluster" branch

free_nodes = r.find( 'cluster' ).attrib[ 'LocalIdleNodes' ]
up_nodes = r.find( 'cluster' ).attrib[ 'LocalUpNodes' ]
free_cores = r.find( 'cluster' ).attrib[ 'LocalIdleProcs' ]
up_cores = r.find( 'cluster' ).attrib[ 'LocalUpProcs' ]

for j in r.findall( 'queue/job' ):
    job = Job( j.attrib )
    try:
        summary[ job.User ] = summary[ job.User ] + job.ReqProcs
    except KeyError:
        summary[ job.User ] = job.ReqProcs