Esempio n. 1
0
    def queryHealthState(self, param):

        lock = scopedLock(self.statsLock)

        param = string.lower(param)

        waitingCount = 0
        officeCount = 0  # Maximum 1 allowed.
        pdf2swfCount = 0
        completedCount = 0

        health = 'NORMAL'

        for value in self.statsMap.itervalues():
            if value == 'waiting':
                waitingCount += 1
            elif value == 'office':
                officeCount += 1
            else:
                pdf2swfCount += 1

        for root, dirs, files in os.walk(osconfig.statisticsPath()):
            completedCount += len(files)

        if officeCount == 0 and pdf2swfCount == 0 and waitingCount > 0:
            health = 'CRITICAL'

        if officeCount > 1:
            health = 'WARNING'

        if officeCount == 0 and waitingCount == 0 and pdf2swfCount >= (
                2 * osconfig.maxPDFAccess()):
            health = 'WARNING'

        if self.pdfFailureCount >= 3:
            health = 'CRITICAL'

        if self.pptFailureCount >= 3:
            health = 'CRITICAL'

        if self.retrieveFailureCount >= 5:
            health = 'CRITICAL'

        if param == 'waiting':
            return str(waitingCount)

        if param == 'office':
            return str(officeCount)

        if param == 'pdf':
            return str(pdf2swfCount)

        if param == 'completed':
            return str(completedCount)

        if param == 'pptfailures':
            return str(self.pptFailureCount)

        if param == 'pdffailures':
            return str(self.pdfFailureCount)

        if param == 'retrievefailures':
            return str(self.retrieveFailureCount)

        return health
Esempio n. 2
0
    def queryHealthState(self, param):
        
        lock = scopedLock(self.statsLock)

        param = string.lower(param)
        
        waitingCount = 0
        officeCount = 0  # Maximum 1 allowed.
        pdf2swfCount = 0
        completedCount = 0

        health = 'NORMAL'

        for value in self.statsMap.itervalues():
            if value == 'waiting':
                waitingCount += 1
            elif value == 'office':
                officeCount += 1
            else:
                pdf2swfCount += 1

        for root, dirs, files in os.walk(osconfig.statisticsPath()):
            completedCount += len(files)

        if officeCount == 0 and pdf2swfCount == 0 and waitingCount > 0:
            health = 'CRITICAL'

        if officeCount > 1:
            health = 'WARNING'
            
        if officeCount == 0 and waitingCount == 0 and pdf2swfCount >= (2* osconfig.maxPDFAccess()):
            health = 'WARNING'
            
        if self.pdfFailureCount >= 3:
            health = 'CRITICAL'
            
        if self.pptFailureCount >= 3:
            health = 'CRITICAL'
            
        if self.retrieveFailureCount >= 5:
            health = 'CRITICAL'
            
        if param == 'waiting':
            return str(waitingCount)
        
        if param == 'office':
            return str(officeCount)
        
        if param == 'pdf':
            return str(pdf2swfCount)
        
        if param == 'completed':
            return str(completedCount)
        
        if param == 'pptfailures':
            return str(self.pptFailureCount)
        
        if param == 'pdffailures':
            return str(self.pdfFailureCount)
        
        if param == 'retrievefailures':
            return str(self.retrieveFailureCount)
        
        return health
Esempio n. 3
0
from engine import exportEngine

oopath = osconfig.ooPath()

if sys.platform.startswith('win'):
    import win32process
    import win32file
    import win32com.client, pythoncom
else:
    sys.path.append(oopath)

import uno
import unohelper
import popen2

maxPDFAccess = osconfig.maxPDFAccess()
mediaDirectory = osconfig.mediaDirectory()

class CSlidedeck(object):
    processMap = None
    officeLock = None
    pdfLock = None
    collator = None
    curlHandle = None
    demHelper = None
    resolveUrl = None
    isOOHealthy = None

    def __init__(self):
        self.processMap = {}
        self.officeLock = threading.BoundedSemaphore(1)