예제 #1
0
#!/usr/bin/env python2.6

import os
import sys
import pwd
import json

from optparse import OptionParser
from CMSYAAT.RequestManager import RequestManager
from CMSYAAT.Utilities import Logging

# TODO: Get some common options parsing
parser = OptionParser()

parser.add_option("-e", "--endpoint", dest="endpoint",
                  help="Target request manager",
                  default="http://cmsweb.cern.ch/reqmgr")

(options, args) = parser.parse_args()

reqmgr = RequestManager( endpoint = options.endpoint )

for request in reqmgr.listRequests():
    print request.getWorkflowName()

sys.exit( 0 )
예제 #2
0
#!/usr/bin/env python2.6

import os
import sys
import pwd
import json

from CMSYAAT.RequestManager import RequestManager
from CMSYAAT.Utilities import Logging
Logging.initLogging()
from CMSYAAT.Utilities import CommandLineHandler

# TODO: Get some common options parsing
commonArgs = ['endpoint']
parser = CommandLineHandler.getParser(commonArgs)

(options, args) = parser.parse_args()
CommandLineHandler.validateArguments(options, args)

reqmgr = RequestManager( endpoint = options.endpoint )
for request in args:
    requestDict = json.loads( open( request, 'r' ).read() )
    newRequest = reqmgr.newRequest()
    newRequest.setRequestDict( requestDict )
    reqmgr.submitRequest( newRequest )
    print newRequest.getWorkflowName()

sys.exit( 0 )
Logging.initLogging()

# TODO: Get some common options parsing
commonArgs = ["endpoint", "wmstat"]
parser = CommandLineHandler.getParser(commonArgs)

(options, args) = parser.parse_args()
CommandLineHandler.validateArguments(options, args)

# should implement
# http://code.activestate.com/recipes/574459-easier-positional-arguments-for-optparse/
if len(args) == 0:
    logging.error("You must provide a request to examine")
    sys.exit(1)

reqmgr = RequestManager(endpoint=options.endpoint, wmstat=options.wmstat)
for requestName in args:
    request = reqmgr.getRequest(requestName)
    requestDocument = request.getRequestDocument()
    resultSummary = request.getJobResultsSummary()
    countSummary = request.getJobCountSummary()
    countSummaryBySite = request.getJobCountSummaryPerSite()

    inputDataset = requestDocument["inputdataset"]
    if countSummary["total"] == 0 or len(countSummaryBySite) == 0:
        jobPercentage = "  0.00%"
    else:
        totalJobs = int(requestDocument["total_jobs"]) or 1
        doneCount = 0
        jobStatusNames = set()
        for site in countSummaryBySite: