Revert "Cron subsystem rework (#206)"

This reverts commit 1b304e8bc5.
This commit is contained in:
Roman Kelesidis 2023-07-01 10:53:24 +07:00
parent 0adde79a65
commit 72f344fccb
12 changed files with 50 additions and 15 deletions

View File

@ -2,6 +2,7 @@
if (isset($_REQUEST['GLOBALS'])) die();
ignore_user_abort(true);
define('TIMESTART', utime());
define('TIMENOW', time());

View File

@ -254,9 +254,11 @@ class sql_db
}
return $result;
}
else
{
return false;
}
}
/**
* Fetch current row
@ -269,9 +271,11 @@ class sql_db
{
return isset($row[$field_name]) ? $row[$field_name] : false;
}
else
{
return $row;
}
}
/**
* Alias of sql_fetchrow()
@ -527,9 +531,11 @@ class sql_db
{
return array('code' => mysql_errno($this->link), 'message' => mysql_error($this->link));
}
else
{
return array('code' => '', 'message' => 'not connected');
}
}
/**
* Close sql connection

View File

@ -22,6 +22,7 @@ if ($cron_jobs)
if ($job['disable_board'])
{
cron_disable_board();
sleep(10);
break;
}
}

View File

@ -58,6 +58,7 @@ function cron_track_running ($mode)
//
if (cron_get_file_lock())
{
ignore_user_abort(true);
register_shutdown_function('cron_release_file_lock');
register_shutdown_function('cron_enable_board');

View File

@ -114,6 +114,8 @@ foreach ($cron_jobs as $job)
LIMIT 1
");
sleep(1);
if (utime() - TIMESTART > 600)
{
return; // чтобы daily скрипты не блокировали надолго interval'ные

View File

@ -31,6 +31,10 @@ if ($poll_max_days = (int) $bb_cfg['poll_max_days'])
{
break;
}
if (!($start_id % ($per_cycle*10)))
{
sleep(1);
}
$start_id += $per_cycle;
}
}

View File

@ -52,4 +52,6 @@ while (true)
{
break;
}
sleep(3);
}

View File

@ -34,6 +34,8 @@ DB()->query("
DB()->unlock();
// ############################ Tables UNLOCKED ##############################
sleep(5);
// Delete staled sessions
DB()->query("
DELETE s

View File

@ -83,6 +83,11 @@ while (true)
break;
}
if (!($start_id % ($per_cycle*10)))
{
sleep(1);
}
$start_id += $per_cycle;
}

View File

@ -41,6 +41,7 @@ function run_jobs($jobs)
END
WHERE cron_id IN ($jobs)
");
sleep(3);
return;
}

View File

@ -677,11 +677,16 @@ function ocelot_send_request ($get, $max_attempts = 1, &$err = false)
global $bb_cfg;
$header = "GET /$get HTTP/1.1\r\nConnection: Close\r\n\r\n";
$attempts = $success = $response = 0;
$attempts = $sleep = $success = $response = 0;
$start_time = microtime(true);
while (!$success && $attempts++ < $max_attempts)
{
if ($sleep)
{
sleep($sleep);
}
// Send request
$file = fsockopen($bb_cfg['ocelot']['host'], $bb_cfg['ocelot']['port'], $error_num, $error_string);
if ($file)
@ -689,12 +694,14 @@ function ocelot_send_request ($get, $max_attempts = 1, &$err = false)
if (fwrite($file, $header) === false)
{
$err = "Failed to fwrite()";
$sleep = 3;
continue;
}
}
else
{
$err = "Failed to fsockopen() - $error_num - $error_string";
$sleep = 6;
continue;
}

View File

@ -480,7 +480,10 @@ if ((empty($_POST) && !defined('IN_ADMIN') && !defined('IN_AJAX') && !file_exist
if (DB()->get_lock('cron', 1))
{
bb_log(date('H:i:s - ') . getmypid() .' --x- DB-LOCK OBTAINED !!!!!!!!!!!!!!!!!'. LOG_LF, CRON_LOG_DIR .'cron_check');
sleep(2);
require(CRON_DIR .'cron_init.php');
DB()->release_lock('cron');
}
}