Fixed numerous bugs in cron tasks

This commit is contained in:
Sergei Solovev 2023-04-29 15:21:31 +03:00
parent 5e337766ce
commit 0ed9b45c3a
3 changed files with 12 additions and 4 deletions

View file

@ -103,7 +103,7 @@
$sql->query('INSERT INTO `logs_sys` set `user`="0", `server`="'.$id.'", `text`="Включение сервера: сервер выключен не через панель", `time`="'.$start_point.'"');
continue;
continue 2;
}
}

View file

@ -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'].'"');

View file

@ -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;