[ADDED] Flush statistics_users entries after 7 days default

This commit is contained in:
Sebastian Grewe 2014-07-17 07:41:23 +02:00
parent 87bdd61fe9
commit 226d2c8b54
2 changed files with 25 additions and 1 deletions

View File

@ -65,7 +65,7 @@ $status = 'OK';
$message = '';
$affected = $share->purgeArchive();
if ($affected === false) {
$message = 'Failed to delete notifications: ' . $oToken->getCronError();
$message = 'Failed to delete shares: ' . $share->getCronError();
$status = 'ERROR';
$monitoring->endCronjob($cron_name, 'E0008', 0, false, false);
} else {
@ -73,6 +73,19 @@ if ($affected === false) {
}
$log->logInfo(sprintf($strLogMask, 'purgeArchive', $affected, number_format(microtime(true) - $start, 3), $status, $message));
// Clenaup shares archive
$start = microtime(true);
$status = 'OK';
$message = '';
$affected = $statistics->purgeUserStats();
if ($affected === false) {
$message = 'Failed to delete entries: ' . $statistics->getCronError();
$status = 'ERROR';
$monitoring->endCronjob($cron_name, 'E0008', 0, false, false);
} else {
$affected == 0 ? $message = 'No entries deleted' : $message = 'Deleted old entries';
}
$log->logInfo(sprintf($strLogMask, 'purgeUserStats', $affected, number_format(microtime(true) - $start, 3), $status, $message));
// Cron cleanup and monitoring
require_once('cron_end.inc.php');

View File

@ -927,6 +927,17 @@ class Statistics extends Base {
return $this->memcache->setCache(__FUNCTION__, $result->fetch_object()->total);
return $this->sqlError();
}
/**
* Purge older entries from our statistics_users table
**/
public function purgeUserStats($days = 7) {
// Fallbacks if unset
$stmt = $this->mysqli->prepare("DELETE FROM " . $this->getUserStatsTableName() . " WHERE FROM_UNIXTIME(timestamp) <= DATE_SUB(NOW(), INTERVAL ? DAY)");
if ($this->checkStmt($stmt) && $stmt->bind_param('i', $days) && $stmt->execute())
return $stmt->affected_rows;
return $this->sqlError();
}
}
$statistics = new Statistics();