Mon, 10 Jun 2019 20:04:12 +0200
Added a private mysql_query function that does try to reconnect a lost MySQL connection.
<?php require_once('config.php'); $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c"); $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b"); $connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME); if (! $connect) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } mysqli_set_charset($connect, "utf8" ); syslog(LOG_NOTICE, "crontasks.php started"); /* * Upgrade inventory_reduced value from old boolean to tiny integer value. */ $query = "UPDATE products SET inventory_reduced=stage WHERE inventory_reduced = 1"; $result = mysqli_query($connect, $query); $changed = mysqli_affected_rows($connect); if ($changed > 0) { syslog(LOG_NOTICE, "Updated ".$changed." products to new inventory_reduced value"); } /* * Update stages after packaging depending on the age. */ $query = "UPDATE products SET stage=7 WHERE stage = 6 AND DATEDIFF(CURDATE(), package_date) > 0"; $result = mysqli_query($connect, $query); $changed = mysqli_affected_rows($connect); if ($changed > 0) { syslog(LOG_NOTICE, "Updated ".$changed." products to stage 7 (Carbonation)"); } $query = "UPDATE products SET stage=8 WHERE stage = 7 AND DATEDIFF(CURDATE(), package_date) > 13"; $result = mysqli_query($connect, $query); $changed = mysqli_affected_rows($connect); if ($changed > 0) { syslog(LOG_NOTICE, "Updated ".$changed." products to stage 8 (Mature)"); } $query = "UPDATE products SET stage=9 WHERE stage = 8 AND DATEDIFF(CURDATE(), package_date) > 41"; $result = mysqli_query($connect, $query); $changed = mysqli_affected_rows($connect); if ($changed > 0) { syslog(LOG_NOTICE, "Updated ".$changed." products to stage 9 (Taste)"); } /* * Check fementation logs. */ $query = "SELECT record,code,name,log_brew,log_fermentation FROM products;"; $result = mysqli_query($connect, $query); while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $logfile = "log/fermentation/" . $row['code'] . " " . $row['name'] . ".log"; if (file_exists($logfile)) $ok = 1; else $ok = 0; if ($ok != $row['log_fermentation']) { $query = "UPDATE products SET log_fermentation='" . $ok . "' WHERE record='" . $row['record'] . "';"; syslog(LOG_NOTICE, $query); $result1 = mysqli_query($connect, $query); } }