fixes during checking of snapshot

This commit is contained in:
Evan Prodromou 2009-05-26 17:26:31 -04:00
parent 8591031c01
commit da035331d8

View File

@ -84,21 +84,23 @@ class Snapshot
// hits // hits
if (rand() % common_config('snapshot', 'frequency') == 0) { if (rand() % common_config('snapshot', 'frequency') == 0) {
$snapshot = new Snapshot(); $snapshot = new Snapshot();
if ($snapshot->take()) { $snapshot->take();
$snapshot->report(); $snapshot->report();
} }
}
break; break;
case 'cron': case 'cron':
// skip if we're running on the Web // skip if we're running on the Web
if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
break; break;
} }
common_log(LOG_INFO, 'Running snapshot from cron job');
// We're running from the command line; assume // We're running from the command line; assume
$snapshot = new Snapshot(); $snapshot = new Snapshot();
if ($snapshot->take()) { $snapshot->take();
common_log(LOG_INFO, count($snapshot->stats) . " statistics being uploaded.");
$snapshot->report(); $snapshot->report();
}
break; break;
case 'never': case 'never':
break; break;
@ -155,6 +157,7 @@ class Snapshot
$this->stats['memcached'] = common_config('memcached', 'enabled'); $this->stats['memcached'] = common_config('memcached', 'enabled');
$this->stats['language'] = common_config('site', 'language'); $this->stats['language'] = common_config('site', 'language');
$this->stats['timezone'] = common_config('site', 'timezone'); $this->stats['timezone'] = common_config('site', 'timezone');
} }
/** /**
@ -186,7 +189,9 @@ class Snapshot
$reporturl = common_config('snapshot', 'reporturl'); $reporturl = common_config('snapshot', 'reporturl');
$result = file_get_contents($reporturl, false, $context); $result = @file_get_contents($reporturl, false, $context);
return $result;
} }
/** /**
@ -203,14 +208,14 @@ class Snapshot
function tableStats($table) function tableStats($table)
{ {
$inst = DB_DataObject::Factory($table); $inst = DB_DataObject::factory($table);
$res = $inst->query('SELECT count(*) as cnt, '. $inst->selectAdd();
$inst->selectAdd('count(*) as cnt, '.
'min(created) as first, '. 'min(created) as first, '.
'max(created) as last '. 'max(created) as last');
'from ' . $table);
if ($res) { if ($inst->find(true)) {
$this->stats[$table.'count'] = $inst->cnt; $this->stats[$table.'count'] = $inst->cnt;
$this->stats[$table.'first'] = $inst->first; $this->stats[$table.'first'] = $inst->first;
$this->stats[$table.'last'] = $inst->last; $this->stats[$table.'last'] = $inst->last;