X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fpoller.php;h=b8f0d7189fdf76f761966c255e79d6e3ef800956;hb=dbb5df7f7d65e4f94add3f0684d9bff40e5f8167;hp=d43257fc9f47c912d60e9cea303b7db33eb344b0;hpb=d79fe20f618cc53cebc003f1a06c3b056848f28b;p=friendica.git diff --git a/include/poller.php b/include/poller.php index d43257fc9f..b8f0d7189f 100644 --- a/include/poller.php +++ b/include/poller.php @@ -19,19 +19,24 @@ if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) { require_once("boot.php"); function poller_run($argv, $argc){ - global $a, $db, $poller_up_start, $poller_db_duration; + global $a, $poller_up_start, $poller_db_duration; $poller_up_start = microtime(true); - $a = new App(dirname(__DIR__)); + if (empty($a)) { + $a = new App(dirname(__DIR__)); + } - @include(".htconfig.php"); - require_once("include/dba.php"); - $db = new dba($db_host, $db_user, $db_pass, $db_data); + require_once ".htconfig.php"; + require_once "include/dba.php"; + dba::connect($db_host, $db_user, $db_pass, $db_data); unset($db_host, $db_user, $db_pass, $db_data); Config::load(); + // Check the database structure and possibly fixes it + check_db(true); + // Quit when in maintenance if (Config::get('system', 'maintenance', true)) { return; @@ -248,7 +253,9 @@ function poller_execute($queue) { poller_exec_function($queue, $funcname, $argv); $stamp = (float)microtime(true); - dba::update('workerqueue', array('done' => true), array('id' => $queue["id"])); + if (dba::update('workerqueue', array('done' => true), array('id' => $queue["id"]))) { + Config::set('system', 'last_poller_execution', datetime_convert()); + } $poller_db_duration = (microtime(true) - $stamp); } else { logger("Function ".$funcname." does not exist"); @@ -690,7 +697,7 @@ function find_worker_processes(&$passing_slow) { // The higher the number of parallel workers, the more we prefetch to prevent concurring access // We decrease the limit with the number of entries left in the queue $worker_queues = Config::get("system", "worker_queues", 4); - $queue_length = Config::get('system', 'worker_fetch_limit', $worker_queues); + $queue_length = Config::get('system', 'worker_fetch_limit', 1); $lower_job_limit = $worker_queues * $queue_length * 2; $jobs = poller_total_entries(); @@ -887,7 +894,7 @@ function poller_run_cron() { poller_kill_stale_workers(); } -if (array_search(__file__,get_included_files())===0){ +if (array_search(__file__,get_included_files())===0) { poller_run($_SERVER["argv"],$_SERVER["argc"]); poller_unclaim_process();