From cb366152288b5adbc90a4448c5e6c5e8ea608fe4 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Wed, 9 Feb 2011 09:53:05 +0100 Subject: [PATCH] check database-connection after each customer in traffic-cron (sometimes analyzing big access-logs takes too long), fixes #544 Signed-off-by: Michael Kaufmann (d00p) --- scripts/jobs/cron_traffic.php | 48 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/scripts/jobs/cron_traffic.php b/scripts/jobs/cron_traffic.php index f9ca31c2..8ae755ca 100644 --- a/scripts/jobs/cron_traffic.php +++ b/scripts/jobs/cron_traffic.php @@ -194,35 +194,33 @@ while($row = $db->fetch_array($result)) // make the stuff readable for the customer, #258 makeChownWithNewStats($row); - } - /** - * Webalizer might run for some time, so we'd better check if our database is still present - */ - - if(empty($db->link_id) - || $db->link_id === false) - { - fwrite($debugHandler, 'Database-connection seems to be down, trying to reconnect' . "\n"); - - // just in case - - $db->close(); - require_once ($pathtophpfiles . '/lib/userdata.inc.php'); - $db = new db($sql['host'], $sql['user'], $sql['password'], $sql['db']); - - if($db->link_id == 0) + /** + * Webalizer/AWStats might run for some time, so we'd better check if our database is still present + */ + if (empty($db->link_id) + || $db->link_id === false) { - fclose($debugHandler); - unlink($lockfile); - $cronlog->logAction(CRON_ACTION, LOG_ERR, 'Database-connection crashed during traffic-cronjob, could not reconnect!'); - die('Froxlor can\'t connect to mysqlserver. Exiting...'); + fwrite($debugHandler, 'Database-connection seems to be down, trying to reconnect' . "\n"); + + // just in case + $db->close(); + require_once ($pathtophpfiles . '/lib/userdata.inc.php'); + $db = new db($sql['host'], $sql['user'], $sql['password'], $sql['db']); + + if ($db->link_id == 0) { + fclose($debugHandler); + unlink($lockfile); + $cronlog->logAction(CRON_ACTION, LOG_ERR, 'Database-connection crashed during traffic-cronjob, could not reconnect!'); + die('Froxlor can\'t connect to mysqlserver. Exiting...'); + } + + fwrite($debugHandler, 'Database-connection re-established' . "\n"); + unset($sql); + unset($db->password); + $cronlog->logAction(CRON_ACTION, LOG_WARNING, 'Database-connection crashed during traffic-cronjob, reconnected!'); } - fwrite($debugHandler, 'Database-connection re-established' . "\n"); - unset($sql); - unset($db->password); - $cronlog->logAction(CRON_ACTION, LOG_WARNING, 'Database-connection crashed during traffic-cronjob, reconnected!'); } /**