query("DELETE a FROM $dbname.job_log AS a CROSS JOIN(SELECT id FROM $dbname.job_log ORDER BY id DESC LIMIT 1 OFFSET 1000) AS b WHERE b.id>a.id")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 1:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}if($mysqlcon->query("DELETE a FROM $dbname.user_snapshot AS a CROSS JOIN(SELECT DISTINCT(timestamp) FROM $dbname.user_snapshot ORDER BY timestamp DESC LIMIT 1000 OFFSET 121) AS b WHERE a.timestamp=b.timestamp")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 2:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}if($cleanclients==1){$cleantime=$nowtime - $cleanperiod;if(($lastclean=$mysqlcon->query("SELECT * FROM $dbname.job_check WHERE job_name='check_clean'"))===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 3:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}$lastclean=$lastclean->fetchAll();if(($dbuserdata=$mysqlcon->query("SELECT uuid FROM $dbname.user"))===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 4:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}$countrs=$dbuserdata->rowCount();$uuids=$dbuserdata->fetchAll();if($lastclean[0]['timestamp']<$cleantime){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),$lang['clean'],"\n";$start=0;$break=200;$clientdblist=array();$countdel=0;$countts=0;while($getclientdblist=$ts3->clientListDb($start,$break)){$clientdblist=array_merge($clientdblist,$getclientdblist);$start=$start+$break;$count_tsuser=array_shift($getclientdblist);if($start==100000||$count_tsuser['count']<=$start){break;}check_shutdown($timezone);usleep($slowmode);}foreach($clientdblist as $uuidts){$single_uuid=$uuidts['client_unique_identifier']->toString();$uidarrts[$single_uuid]=1;}unset($clientdblist);foreach($uuids as $uuid){if(isset($uidarrts[$uuid[0]])){$countts++;}else{$deleteuuids[]=$uuid[0];$countdel++;}}unset($uidarrts);echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),sprintf($lang['cleants'],$countts,$count_tsuser['count']),"\n";echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),sprintf($lang['cleanrs'],$countrs),"\n";if(isset($deleteuuids)){$alldeldata='';foreach($deleteuuids as $dellarr){$alldeldata=$alldeldata."'".$dellarr."',";}$alldeldata=substr($alldeldata,0,-1);$alldeldata="(".$alldeldata.")";if($alldeldata!=''){if($mysqlcon->exec("DELETE FROM $dbname.user WHERE uuid IN $alldeldata")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 5:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}else{echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),sprintf($lang['cleandel'],$countdel),"\n";if($mysqlcon->exec("UPDATE $dbname.job_check SET timestamp='$nowtime' WHERE job_name='check_clean'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 6:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}}}}else{echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),$lang['cleanno'],"\n";if($mysqlcon->exec("UPDATE $dbname.job_check SET timestamp='$nowtime' WHERE job_name='check_clean'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 7:",print_r($mysqlcon->errorInfo()),"\n";$sqlmsg.=print_r($mysqlcon->errorInfo());$sqlerr++;}}}}$buildtime=microtime(true)- $starttime;if($sqlerr==0){if($mysqlcon->exec("UPDATE $dbname.job_log SET status='0', runtime='$buildtime' WHERE id='$jobid'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 8:",print_r($mysqlcon->errorInfo()),"\n";}}else{if($mysqlcon->exec("UPDATE $dbname.job_log SET status='1', err_msg='$sqlmsg', runtime='$buildtime' WHERE id='$jobid'")===false){echo DateTime::createFromFormat('U.u',number_format(microtime(true),6,'.',''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"clean 9:",print_r($mysqlcon->errorInfo()),"\n";}}}?>