Beispiel #1
0
def recompute_performance_summaries():
    """Recompute performance summaries for all units"""
    from dcmetrometrics.eles.models import Unit
    units = Unit.objects.no_cache()
    start = datetime.now()
    n = units.count()
    GARBAGE_COLLECT_INTERVAL = 10
    jwriter = JSONWriter(WWW_DIR)
    for i, unit in enumerate(units):

        INFO("Computing performance summary for unit %s: %i of %i (%.2f%%)" %
             (unit.unit_id, i, n, 100.0 * i / n))
        unit.compute_performance_summary(save=True)

        if i % GARBAGE_COLLECT_INTERVAL == 0:
            DEBUG("Running garbage collector after iteration over units.")
            count = gc.collect()
            DEBUG("Garbage collect returned %i" % count)

        jwriter.write_unit(unit)

    # Write the station directory
    jwriter.write_station_directory()

    elapsed = (datetime.now() - start).total_seconds()
    print "%.2f seconds elapsed" % elapsed
def write_json():
  """Generate all json files.
  """
  from dcmetrometrics.common.JSONifier import JSONWriter
  import os

  jwriter = JSONWriter(WWW_DIR)
  # jwriter = JSONWriter(basedir = os.path.join('client', 'app'))

  from dcmetrometrics.eles.models import Unit
  num_units = Unit.objects.no_cache().count()
  for i, unit in enumerate(Unit.objects.no_cache()):
    logger.info('Writing unit %i of %i: %s'%(i, num_units, unit.unit_id))
    jwriter.write_unit(unit)

  # Write the station directory
  jwriter.write_station_directory()

  # Write the recent updates
  jwriter.write_recent_updates()  

  for report in SystemServiceReport.objects.no_cache():
    logger.info("Writing system service report for day %s"%report.day)
    jwriter.write_daily_system_service_report(report = report)


  elapsed = (datetime.now() - start).total_seconds()
  print "%.2f seconds elapsed"%elapsed
def recompute_performance_summaries():
  """Recompute performance summaries for all units"""
  from dcmetrometrics.eles.models import Unit
  units = Unit.objects.no_cache()
  start = datetime.now()
  n =  units.count()
  GARBAGE_COLLECT_INTERVAL = 10
  jwriter = JSONWriter(WWW_DIR)
  for i, unit in enumerate(units):

    INFO("Computing performance summary for unit %s: %i of %i (%.2f%%)"%(unit.unit_id, i, n, 100.0*i/n))
    unit.compute_performance_summary(save = True)

    if i%GARBAGE_COLLECT_INTERVAL == 0:
      DEBUG("Running garbage collector after iteration over units.")
      count = gc.collect()
      DEBUG("Garbage collect returned %i"%count)

    jwriter.write_unit(unit)
    
  # Write the station directory
  jwriter.write_station_directory()

  elapsed = (datetime.now() - start).total_seconds()
  print "%.2f seconds elapsed"%elapsed