Esempio n. 1
0
  def sanitizeReportList(self, reportType):
    if reportType == liblog.RAW_REPORT:
      pattern = 'logdump_*_list'
    else:
      pattern = 'logreport_*_list'

    files = gfile.ListDir(liblog.get_report_dir(self.entConfig))
    files = fnmatch.filter(files, pattern)

    if not files:
      return

    if reportType == liblog.RAW_REPORT:
      pattern = 'logdump_(.*)_list'
    else:
      pattern = 'logreport_(.*)_list'
    regex = re.compile(pattern)

    for file in files:
      m = regex.match(os.path.basename(file))
      collection = m.group(1)
      reports = self.getLogReports(collection, reportType)
      for i in range(len(reports)):
        if reports[i].completeState == PENDING:
          reports[i].completeState = FAILURE
        if reports[i].completeState == COMPLETE_REGENERATE:
          reports[i].isFinal = string.split(reports[i].isFinal, '|')[0]
          reports[i].creationDate = string.split(reports[i].creationDate, '|')[0]
          reports[i].completeState = COMPLETE
        if reports[i].completeState != FAILURE:
          self.reportCount[reportType] += 1
      self.setLogReports(reportType, collection, reports)
Esempio n. 2
0
  def __init__(self, cfg):
    self.cfg = cfg    # configurator object
    self.entConfig = cfg.globalParams
    # locks for updating the report lists
    self.logreplock = threading.RLock()
    self.logdir = self.cfg.getGlobalParam('LOGDIR')
    liblog.MakeDir(liblog.get_click_dir(self.entConfig))
    liblog.MakeDir(liblog.get_collect_dir(self.entConfig))
    liblog.MakeDir(liblog.get_apache_dir(self.entConfig))
    liblog.MakeDir(liblog.get_partition_dir(self.entConfig))
    liblog.MakeGoogleDir(self.entConfig, liblog.get_report_dir(self.entConfig))
    collection_dir_map_file = liblog.get_directory_map_file(self.entConfig)

    if not os.path.exists(collection_dir_map_file):
      open(collection_dir_map_file, 'w').close()  # a trick to touch a file.
    self.reportCount = { liblog.RAW_REPORT:  0,
                         liblog.SUMMARY_REPORT: 0, }
    self.sanitizeReportList(liblog.RAW_REPORT)
    self.sanitizeReportList(liblog.SUMMARY_REPORT)

    self.joblock = threading.Lock()
    self.runningJobs = {}