diff --git a/system/library/cron/scan_servers.php b/system/library/cron/scan_servers.php index 8d2346e..b219ab1 100644 --- a/system/library/cron/scan_servers.php +++ b/system/library/cron/scan_servers.php @@ -103,7 +103,7 @@ $sql->query('INSERT INTO `logs_sys` set `user`="0", `server`="'.$id.'", `text`="Включение сервера: сервер выключен не через панель", `time`="'.$start_point.'"'); - continue; + continue 2; } } diff --git a/system/library/cron/server_delete.php b/system/library/cron/server_delete.php index fb5a47d..13ea306 100644 --- a/system/library/cron/server_delete.php +++ b/system/library/cron/server_delete.php @@ -131,6 +131,8 @@ }else $sql->query('UPDATE `web` set `user`="0" WHERE `server`="'.$server['id'].'"'); + $start_point = $_SERVER['REQUEST_TIME']; + // Удаление различной информации игрового сервера $sql->query('DELETE FROM `admins_'.$server['game'].'` WHERE `server`="'.$server['id'].'"'); $sql->query('DELETE FROM `plugins_install` WHERE `server`="'.$server['id'].'"'); diff --git a/system/library/cron/threads.php b/system/library/cron/threads.php index 8ab696e..9e53bbb 100644 --- a/system/library/cron/threads.php +++ b/system/library/cron/threads.php @@ -15,7 +15,7 @@ return NULL; while($unit = $sql->get()) - $aUnit[$unit['id']] = ''; + $aUnit[$unit['id']] = []; $sql->query('SELECT `id` FROM `servers` LIMIT 1'); @@ -26,8 +26,10 @@ $all = $sql->num(); - while($server = $sql->get()) - $aUnit[$server['unit']][$server['game']] .= $server['id'].' '; + while($server = $sql->get()) { + $aUnit[$server['unit']][$server['game']] ??= []; + $aUnit[$server['unit']][$server['game']][] = $server['id']; + } if($argv[3] == 'scan_servers_route') cron::$seping = 50; @@ -36,6 +38,9 @@ { foreach($aGame as $game => $servers) { + if(is_array($servers)) { + $servers = implode(' ', $servers); + } $aData = explode(' ', $servers); $num = count($aData)-1; @@ -55,6 +60,7 @@ $cmd .= 'sudo -u www-data screen -dmS scan_'.(sys::first(explode(' ', $servers))).'_'.$screen.' taskset -c '.$cfg['cron_taskset'].' sh -c \"cd /var/enginegp; php cron.php '.$cfg['cron_key'].' '.$argv[3].' '.$servers.'\"; sleep 1;'; } + $start_point = $_SERVER['REQUEST_TIME']; exec('screen -dmS threads_'.date('His', $start_point).' sh -c "'.$cmd.'"'); return NULL;