Now there is only the worker.

This commit is contained in:
Michael 2017-02-26 23:16:49 +00:00
parent 86c6c48bd8
commit 48209f0ecd
25 changed files with 103 additions and 737 deletions

View file

@ -6,26 +6,9 @@
* This script is started from mod/item.php to save some time when doing a post. * This script is started from mod/item.php to save some time when doing a post.
*/ */
use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/threads.php"); require_once("include/threads.php");
function create_shadowentry_run($argv, $argc) { function create_shadowentry_run($argv, $argc) {
global $a, $db;
if (is_null($a))
$a = new App;
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
if ($argc != 2) { if ($argc != 2) {
return; return;
} }
@ -34,9 +17,4 @@ function create_shadowentry_run($argv, $argc) {
add_shadow_entry($message_id); add_shadow_entry($message_id);
} }
if (array_search(__file__,get_included_files())===0){
create_shadowentry_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}
?> ?>

View file

@ -1,35 +1,11 @@
<?php <?php
if (!file_exists("boot.php") AND (sizeof($_SERVER["argv"]) != 0)) {
$directory = dirname($_SERVER["argv"][0]);
if (substr($directory, 0, 1) != "/")
$directory = $_SERVER["PWD"]."/".$directory;
$directory = realpath($directory."/..");
chdir($directory);
}
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/photos.php"); require_once("include/photos.php");
require_once("include/user.php"); require_once("include/user.php");
function cron_run(&$argv, &$argc){ function cron_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php'); require_once('include/session.php');
require_once('include/datetime.php'); require_once('include/datetime.php');
@ -40,16 +16,6 @@ function cron_run(&$argv, &$argc){
require_once('mod/nodeinfo.php'); require_once('mod/nodeinfo.php');
require_once('include/post_update.php'); require_once('include/post_update.php');
Config::load();
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run") {
if ($a->maxload_reached())
return;
if (App::is_already_running('cron', 'include/cron.php', 540))
return;
}
$last = get_config('system','last_cron'); $last = get_config('system','last_cron');
$poll_interval = intval(get_config('system','cron_interval')); $poll_interval = intval(get_config('system','cron_interval'));
@ -64,10 +30,6 @@ function cron_run(&$argv, &$argc){
} }
} }
$a->set_baseurl(get_config('system','url'));
load_hooks();
logger('cron: start'); logger('cron: start');
// run queue delivery process in the background // run queue delivery process in the background
@ -85,34 +47,17 @@ function cron_run(&$argv, &$argc){
// Expire and remove user entries // Expire and remove user entries
cron_expire_and_remove_users(); cron_expire_and_remove_users();
// If the worker is active, split the jobs in several sub processes // Check OStatus conversations
if (get_config("system", "worker")) { proc_run(PRIORITY_MEDIUM, "include/cronjobs.php", "ostatus_mentions");
// Check OStatus conversations
proc_run(PRIORITY_MEDIUM, "include/cronjobs.php", "ostatus_mentions");
// Check every conversation // Check every conversation
proc_run(PRIORITY_MEDIUM, "include/cronjobs.php", "ostatus_conversations"); proc_run(PRIORITY_MEDIUM, "include/cronjobs.php", "ostatus_conversations");
// Call possible post update functions // Call possible post update functions
proc_run(PRIORITY_LOW, "include/cronjobs.php", "post_update"); proc_run(PRIORITY_LOW, "include/cronjobs.php", "post_update");
// update nodeinfo data // update nodeinfo data
proc_run(PRIORITY_LOW, "include/cronjobs.php", "nodeinfo"); proc_run(PRIORITY_LOW, "include/cronjobs.php", "nodeinfo");
} else {
// Check OStatus conversations
// Check only conversations with mentions (for a longer time)
ostatus::check_conversations(true);
// Check every conversation
ostatus::check_conversations(false);
// Call possible post update functions
// see include/post_update.php for more details
post_update();
// update nodeinfo data
nodeinfo_cron();
}
// once daily run birthday_updates and then expire in background // once daily run birthday_updates and then expire in background
@ -213,14 +158,6 @@ function cron_poll_contacts($argc, $argv) {
$force = true; $force = true;
} }
$interval = intval(get_config('system','poll_interval'));
if (!$interval)
$interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
// If we are using the worker we don't need a delivery interval
if (get_config("system", "worker"))
$interval = false;
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : ""); $sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
reload_plugins(); reload_plugins();
@ -335,9 +272,6 @@ function cron_poll_contacts($argc, $argv) {
} else { } else {
proc_run(PRIORITY_LOW, 'include/onepoll.php', $contact['id']); proc_run(PRIORITY_LOW, 'include/onepoll.php', $contact['id']);
} }
if($interval)
@time_sleep_until(microtime(true) + (float) $interval);
} }
} }
} }
@ -488,8 +422,3 @@ function cron_repair_database() {
/// - remove children when parent got lost /// - remove children when parent got lost
/// - set contact-id in item when not present /// - set contact-id in item when not present
} }
if (array_search(__file__,get_included_files())===0){
cron_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,37 +2,11 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
function cronhooks_run(&$argv, &$argc){ function cronhooks_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php'); require_once('include/datetime.php');
Config::load();
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run") {
if ($a->maxload_reached())
return;
if (App::is_already_running('cronhooks', 'include/cronhooks.php', 1140))
return;
}
load_hooks();
if (($argc == 2) AND is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) { if (($argc == 2) AND is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) {
foreach ($a->hooks["cron"] as $hook) foreach ($a->hooks["cron"] as $hook)
if ($hook[1] == $argv[1]) { if ($hook[1] == $argv[1]) {
@ -62,13 +36,12 @@ function cronhooks_run(&$argv, &$argc){
$d = datetime_convert(); $d = datetime_convert();
if (get_config("system", "worker") AND is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) { if (is_array($a->hooks) AND array_key_exists("cron", $a->hooks)) {
foreach ($a->hooks["cron"] as $hook) { foreach ($a->hooks["cron"] as $hook) {
logger("Calling cronhooks for '".$hook[1]."'", LOGGER_DEBUG); logger("Calling cronhooks for '".$hook[1]."'", LOGGER_DEBUG);
proc_run(PRIORITY_MEDIUM, "include/cronhooks.php", $hook[1]); proc_run(PRIORITY_MEDIUM, "include/cronhooks.php", $hook[1]);
} }
} else }
call_hooks('cron', $d);
logger('cronhooks: end'); logger('cronhooks: end');
@ -76,8 +49,3 @@ function cronhooks_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
cronhooks_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -1,44 +1,14 @@
<?php <?php
use \Friendica\Core\Config; use \Friendica\Core\Config;
if (!file_exists("boot.php") AND (sizeof($_SERVER["argv"]) != 0)) {
$directory = dirname($_SERVER["argv"][0]);
if (substr($directory, 0, 1) != "/")
$directory = $_SERVER["PWD"]."/".$directory;
$directory = realpath($directory."/..");
chdir($directory);
}
require_once("boot.php");
function cronjobs_run(&$argv, &$argc){ function cronjobs_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php'); require_once('include/datetime.php');
require_once('include/ostatus.php'); require_once('include/ostatus.php');
require_once('include/post_update.php'); require_once('include/post_update.php');
require_once('mod/nodeinfo.php'); require_once('mod/nodeinfo.php');
Config::load();
$a->set_baseurl(get_config('system','url'));
// No parameter set? So return // No parameter set? So return
if ($argc <= 1) if ($argc <= 1)
return; return;
@ -71,8 +41,3 @@ function cronjobs_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
cronjobs_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -5,26 +5,8 @@
*/ */
use \Friendica\Core\Config; use \Friendica\Core\Config;
use \Friendica\Core\PConfig;
require_once("boot.php");
function dbclean_run(&$argv, &$argc) { function dbclean_run(&$argv, &$argc) {
global $a, $db;
if (is_null($a)) {
$a = new App;
}
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
if (!Config::get('system', 'dbclean', false)) { if (!Config::get('system', 'dbclean', false)) {
return; return;
} }
@ -35,7 +17,7 @@ function dbclean_run(&$argv, &$argc) {
$stage = 0; $stage = 0;
} }
if (Config::get("system", "worker") AND ($stage == 0)) { if ($stage == 0) {
proc_run(PRIORITY_LOW, 'include/dbclean.php', 1); proc_run(PRIORITY_LOW, 'include/dbclean.php', 1);
proc_run(PRIORITY_LOW, 'include/dbclean.php', 2); proc_run(PRIORITY_LOW, 'include/dbclean.php', 2);
proc_run(PRIORITY_LOW, 'include/dbclean.php', 3); proc_run(PRIORITY_LOW, 'include/dbclean.php', 3);
@ -56,12 +38,8 @@ function remove_orphans($stage = 0) {
$count = 0; $count = 0;
// With activated worker we split the deletion in many small tasks // We split the deletion in many small tasks
if (Config::get("system", "worker")) { $limit = 1000;
$limit = 1000;
} else {
$limit = 10000;
}
if (($stage == 1) OR ($stage == 0)) { if (($stage == 1) OR ($stage == 0)) {
logger("Deleting old global item entries from item table without user copy"); logger("Deleting old global item entries from item table without user copy");
@ -159,14 +137,9 @@ function remove_orphans($stage = 0) {
} }
// Call it again if not all entries were purged // Call it again if not all entries were purged
if (($stage != 0) AND ($count > 0) AND Config::get("system", "worker")) { if (($stage != 0) AND ($count > 0)) {
proc_run(PRIORITY_MEDIUM, 'include/dbclean.php'); proc_run(PRIORITY_MEDIUM, 'include/dbclean.php');
} }
} }
if (array_search(__file__,get_included_files())===0){
dbclean_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}
?> ?>

View file

@ -2,23 +2,8 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
function dbupdate_run(&$argv, &$argc) { function dbupdate_run(&$argv, &$argc) {
global $a, $db; global $a;
if(is_null($a)){
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
// We are deleting the latest dbupdate entry. // We are deleting the latest dbupdate entry.
// This is done to avoid endless loops because the update was interupted. // This is done to avoid endless loops because the update was interupted.
@ -26,8 +11,3 @@ function dbupdate_run(&$argv, &$argc) {
update_db($a); update_db($a);
} }
if (array_search(__file__,get_included_files())===0){
dbupdate_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,7 +2,6 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once('include/queue_fn.php'); require_once('include/queue_fn.php');
require_once('include/html2plain.php'); require_once('include/html2plain.php');
require_once("include/Scrape.php"); require_once("include/Scrape.php");
@ -11,35 +10,17 @@ require_once("include/ostatus.php");
require_once("include/dfrn.php"); require_once("include/dfrn.php");
function delivery_run(&$argv, &$argc){ function delivery_run(&$argv, &$argc){
global $a, $db; global $a;
if (is_null($a)) {
$a = new App;
}
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
require_once("include/session.php");
require_once("include/datetime.php"); require_once("include/datetime.php");
require_once('include/items.php'); require_once('include/items.php');
require_once('include/bbcode.php'); require_once('include/bbcode.php');
require_once('include/email.php'); require_once('include/email.php');
Config::load();
load_hooks();
if ($argc < 3) { if ($argc < 3) {
return; return;
} }
$a->set_baseurl(get_config('system','url'));
logger('delivery: invoked: '. print_r($argv,true), LOGGER_DEBUG); logger('delivery: invoked: '. print_r($argv,true), LOGGER_DEBUG);
$cmd = $argv[1]; $cmd = $argv[1];
@ -577,8 +558,3 @@ function delivery_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
delivery_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -1,36 +1,16 @@
<?php <?php
require_once("boot.php");
use \Friendica\Core\Config; use \Friendica\Core\Config;
function directory_run(&$argv, &$argc){ function directory_run(&$argv, &$argc){
global $a, $db; if ($argc != 2) {
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
Config::load();
if($argc != 2)
return; return;
}
load_hooks();
$a->set_baseurl(get_config('system','url'));
$dir = get_config('system','directory'); $dir = get_config('system','directory');
if(! strlen($dir)) if (!strlen($dir)) {
return; return;
}
$dir .= "/submit"; $dir .= "/submit";
@ -39,13 +19,8 @@ function directory_run(&$argv, &$argc){
call_hooks('globaldir_update', $arr); call_hooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG); logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
if(strlen($arr['url'])) if (strlen($arr['url'])) {
fetch_url($dir . '?url=' . bin2hex($arr['url'])); fetch_url($dir . '?url=' . bin2hex($arr['url']));
}
return; return;
} }
if (array_search(__file__,get_included_files())===0){
directory_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,34 +2,12 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/socgraph.php"); require_once("include/socgraph.php");
require_once('include/datetime.php');
function discover_poco_run(&$argv, &$argc){ function discover_poco_run(&$argv, &$argc){
global $a, $db;
if(is_null($a)) { if (($argc > 2) && ($argv[1] == "dirsearch")) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php');
Config::load();
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run")
if ($a->maxload_reached())
return;
if(($argc > 2) && ($argv[1] == "dirsearch")) {
$search = urldecode($argv[2]); $search = urldecode($argv[2]);
$mode = 1; $mode = 1;
} elseif(($argc == 2) && ($argv[1] == "checkcontact")) { } elseif(($argc == 2) && ($argv[1] == "checkcontact")) {
@ -42,15 +20,6 @@ function discover_poco_run(&$argv, &$argc){
} else } else
die("Unknown or missing parameter ".$argv[1]."\n"); die("Unknown or missing parameter ".$argv[1]."\n");
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run")
if (App::is_already_running('discover_poco'.$mode.urlencode($search), 'include/discover_poco.php', 1140))
return;
$a->set_baseurl(get_config('system','url'));
load_hooks();
logger('start '.$search); logger('start '.$search);
if ($mode==3) if ($mode==3)
@ -207,9 +176,3 @@ function gs_search_user($search) {
} }
} }
} }
if (array_search(__file__,get_included_files())===0){
discover_poco_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,32 +2,13 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
function expire_run(&$argv, &$argc){ function expire_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php'); require_once('include/datetime.php');
require_once('include/items.php'); require_once('include/items.php');
require_once('include/Contact.php'); require_once('include/Contact.php');
Config::load();
$a->set_baseurl(get_config('system','url'));
// physically remove anything that has been deleted for more than two months // physically remove anything that has been deleted for more than two months
$r = q("delete from item where deleted = 1 and changed < UTC_TIMESTAMP() - INTERVAL 60 DAY"); $r = q("delete from item where deleted = 1 and changed < UTC_TIMESTAMP() - INTERVAL 60 DAY");
@ -53,8 +34,3 @@ function expire_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
expire_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,33 +2,11 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once('include/Scrape.php'); require_once('include/Scrape.php');
require_once('include/socgraph.php'); require_once('include/socgraph.php');
require_once('include/datetime.php');
function gprobe_run(&$argv, &$argc){ function gprobe_run(&$argv, &$argc){
global $a, $db;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php');
Config::load();
$a->set_baseurl(get_config('system','url'));
load_hooks();
if($argc != 2) if($argc != 2)
return; return;
@ -74,8 +52,3 @@ function gprobe_run(&$argv, &$argc){
logger("gprobe end for ".normalise_link($url), LOGGER_DEBUG); logger("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
return; return;
} }
if (array_search(__file__,get_included_files())===0){
gprobe_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,7 +2,6 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once('include/queue_fn.php'); require_once('include/queue_fn.php');
require_once('include/html2plain.php'); require_once('include/html2plain.php');
require_once("include/Scrape.php"); require_once("include/Scrape.php");
@ -44,35 +43,17 @@ require_once('include/salmon.php');
function notifier_run(&$argv, &$argc){ function notifier_run(&$argv, &$argc){
global $a, $db; global $a;
if (is_null($a)) {
$a = new App;
}
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
require_once("include/session.php");
require_once("include/datetime.php"); require_once("include/datetime.php");
require_once('include/items.php'); require_once('include/items.php');
require_once('include/bbcode.php'); require_once('include/bbcode.php');
require_once('include/email.php'); require_once('include/email.php');
Config::load();
load_hooks();
if ($argc < 3) { if ($argc < 3) {
return; return;
} }
$a->set_baseurl(get_config('system','url'));
logger('notifier: invoked: ' . print_r($argv,true), LOGGER_DEBUG); logger('notifier: invoked: ' . print_r($argv,true), LOGGER_DEBUG);
$cmd = $argv[1]; $cmd = $argv[1];
@ -495,12 +476,6 @@ function notifier_run(&$argv, &$argc){
); );
} }
$interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval')));
// If we are using the worker we don't need a delivery interval
if (get_config("system", "worker")) {
$interval = false;
}
// delivery loop // delivery loop
if (dbm::is_result($r)) { if (dbm::is_result($r)) {
@ -517,26 +492,6 @@ function notifier_run(&$argv, &$argc){
} }
} }
// This controls the number of deliveries to execute with each separate delivery process.
// By default we'll perform one delivery per process. Assuming a hostile shared hosting
// provider, this provides the greatest chance of deliveries if processes start getting
// killed. We can also space them out with the delivery_interval to also help avoid them
// getting whacked.
// If $deliveries_per_process > 1, we will chain this number of multiple deliveries
// together into a single process. This will reduce the overall number of processes
// spawned for each delivery, but they will run longer.
// When using the workerqueue, we don't need this functionality.
$deliveries_per_process = intval(get_config('system','delivery_batch_count'));
if (($deliveries_per_process <= 0) OR get_config("system", "worker")) {
$deliveries_per_process = 1;
}
$this_batch = array();
for ($x = 0; $x < count($r); $x ++) { for ($x = 0; $x < count($r); $x ++) {
$contact = $r[$x]; $contact = $r[$x];
@ -545,25 +500,9 @@ function notifier_run(&$argv, &$argc){
} }
logger("Deliver ".$target_item["guid"]." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG); logger("Deliver ".$target_item["guid"]." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
// potentially more than one recipient. Start a new process and space them out a bit. proc_run(PRIORITY_HIGH,'include/delivery.php', $cmd, $item_id, $contact['id']);
// we will deliver single recipient types of message and email recipients here.
$this_batch[] = $contact['id'];
if (count($this_batch) >= $deliveries_per_process) {
proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$this_batch);
$this_batch = array();
if ($interval) {
@time_sleep_until(microtime(true) + (float) $interval);
}
}
continue; continue;
} }
// be sure to pick up any stragglers
if (count($this_batch)) {
proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$this_batch);
}
} }
// send salmon slaps to mentioned remote tags (@foo@example.com) in OStatus posts // send salmon slaps to mentioned remote tags (@foo@example.com) in OStatus posts
@ -639,9 +578,6 @@ function notifier_run(&$argv, &$argc){
if ((! $mail) && (! $fsuggest) && (! $followup)) { if ((! $mail) && (! $fsuggest) && (! $followup)) {
logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]); logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$rr['id']); proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$rr['id']);
if ($interval) {
@time_sleep_until(microtime(true) + (float) $interval);
}
} }
} }
} }
@ -694,9 +630,3 @@ function notifier_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
notifier_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -2,7 +2,6 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/follow.php"); require_once("include/follow.php");
function RemoveReply($subject) { function RemoveReply($subject) {
@ -13,20 +12,8 @@ function RemoveReply($subject) {
} }
function onepoll_run(&$argv, &$argc){ function onepoll_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php'); require_once('include/datetime.php');
require_once('include/items.php'); require_once('include/items.php');
require_once('include/Contact.php'); require_once('include/Contact.php');
@ -34,12 +21,6 @@ function onepoll_run(&$argv, &$argc){
require_once('include/socgraph.php'); require_once('include/socgraph.php');
require_once('include/queue_fn.php'); require_once('include/queue_fn.php');
Config::load();
$a->set_baseurl(get_config('system','url'));
load_hooks();
logger('onepoll: start'); logger('onepoll: start');
$manual_id = 0; $manual_id = 0;
@ -59,11 +40,6 @@ function onepoll_run(&$argv, &$argc){
return; return;
} }
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run")
if (App::is_already_running('onepoll'.$contact_id, '', 540))
return;
$d = datetime_convert(); $d = datetime_convert();
// Only poll from those with suitable relationships, // Only poll from those with suitable relationships,
@ -670,8 +646,3 @@ function onepoll_run(&$argv, &$argc){
return; return;
} }
if (array_search(__file__,get_included_files())===0){
onepoll_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -35,6 +35,10 @@ function poller_run($argv, $argc){
return; return;
} }
$a->set_baseurl(Config::get('system', 'url'));
load_hooks();
$a->start_process(); $a->start_process();
if (poller_max_connections_reached()) { if (poller_max_connections_reached()) {
@ -561,7 +565,7 @@ function poller_worker_process() {
* @brief Call the front end worker * @brief Call the front end worker
*/ */
function call_worker() { function call_worker() {
if (!Config::get("system", "frontend_worker") OR !Config::get("system", "worker")) { if (!Config::get("system", "frontend_worker")) {
return; return;
} }
@ -573,7 +577,7 @@ function call_worker() {
* @brief Call the front end worker if there aren't any active * @brief Call the front end worker if there aren't any active
*/ */
function call_worker_if_idle() { function call_worker_if_idle() {
if (!Config::get("system", "frontend_worker") OR !Config::get("system", "worker")) { if (!Config::get("system", "frontend_worker")) {
return; return;
} }

View file

@ -1,12 +1,31 @@
<?php <?php
require_once("boot.php"); use \Friendica\Core\Config;
require_once('include/items.php');
require_once("include/ostatus.php"); require_once("include/ostatus.php");
use \Friendica\Core\Config; function pubsubpublish_run(&$argv, &$argc){
use \Friendica\Core\PConfig;
if ($argc > 1) {
$pubsubpublish_id = intval($argv[1]);
} else {
// We'll push to each subscriber that has push > 0,
// i.e. there has been an update (set in notifier.php).
$r = q("SELECT `id`, `callback_url` FROM `push_subscriber` WHERE `push` > 0");
foreach ($r as $rr) {
logger("Publish feed to ".$rr["callback_url"], LOGGER_DEBUG);
proc_run(PRIORITY_HIGH, 'include/pubsubpublish.php', $rr["id"]);
}
}
handle_pubsubhubbub($pubsubpublish_id);
return;
}
function handle_pubsubhubbub($id) { function handle_pubsubhubbub($id) {
global $a, $db; global $a;
$r = q("SELECT * FROM `push_subscriber` WHERE `id` = %d", intval($id)); $r = q("SELECT * FROM `push_subscriber` WHERE `id` = %d", intval($id));
if (!$r) if (!$r)
@ -54,70 +73,3 @@ function handle_pubsubhubbub($id) {
intval($rr['id'])); intval($rr['id']));
} }
} }
function pubsubpublish_run(&$argv, &$argc){
global $a, $db;
if(is_null($a)){
$a = new App;
}
if(is_null($db)){
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/items.php');
Config::load();
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run") {
if (App::is_already_running("pubsubpublish", "include/pubsubpublish.php", 540)) {
return;
}
}
$a->set_baseurl(get_config('system','url'));
load_hooks();
if ($argc > 1) {
$pubsubpublish_id = intval($argv[1]);
}
else {
// We'll push to each subscriber that has push > 0,
// i.e. there has been an update (set in notifier.php).
$r = q("SELECT `id`, `callback_url` FROM `push_subscriber` WHERE `push` > 0");
// Use the delivery interval that is also used for the notifier
$interval = Config::get("system", "delivery_interval", 2);
// If we are using the worker we don't need a delivery interval
if (get_config("system", "worker")) {
$interval = false;
}
foreach ($r as $rr) {
logger("Publish feed to ".$rr["callback_url"], LOGGER_DEBUG);
proc_run(PRIORITY_HIGH, 'include/pubsubpublish.php', $rr["id"]);
if($interval)
@time_sleep_until(microtime(true) + (float) $interval);
}
}
handle_pubsubhubbub($pubsubpublish_id);
return;
}
if (array_search(__file__,get_included_files())===0){
pubsubpublish_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -1,41 +1,18 @@
<?php <?php
/// @todo Rework the whole file to a single item processing
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once('include/queue_fn.php'); require_once('include/queue_fn.php');
require_once('include/dfrn.php'); require_once('include/dfrn.php');
require_once("include/datetime.php");
require_once('include/items.php');
require_once('include/bbcode.php');
require_once('include/socgraph.php');
function queue_run(&$argv, &$argc){ function queue_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)){
$a = new App;
}
if(is_null($db)){
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once("include/session.php");
require_once("include/datetime.php");
require_once('include/items.php');
require_once('include/bbcode.php');
require_once('include/socgraph.php');
Config::load();
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run")
if (App::is_already_running('queue', 'include/queue.php', 540))
return;
$a->set_baseurl(get_config('system','url'));
load_hooks();
if($argc > 1) if($argc > 1)
$queue_id = intval($argv[1]); $queue_id = intval($argv[1]);
@ -53,20 +30,11 @@ function queue_run(&$argv, &$argc){
// Handling the pubsubhubbub requests // Handling the pubsubhubbub requests
proc_run(PRIORITY_HIGH,'include/pubsubpublish.php'); proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
$interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval')));
// If we are using the worker we don't need a delivery interval
if (get_config("system", "worker"))
$interval = false;
$r = q("select * from deliverq where 1"); $r = q("select * from deliverq where 1");
if ($r) { if ($r) {
foreach ($r as $rr) { foreach ($r as $rr) {
logger('queue: deliverq'); logger('queue: deliverq');
proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']); proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']);
if($interval) {
time_sleep_until(microtime(true) + (float) $interval);
}
} }
} }
@ -111,16 +79,14 @@ function queue_run(&$argv, &$argc){
// queue_predeliver hooks may have changed the queue db details, // queue_predeliver hooks may have changed the queue db details,
// so check again if this entry still needs processing // so check again if this entry still needs processing
if($queue_id) if ($queue_id) {
$qi = q("SELECT * FROM `queue` WHERE `id` = %d LIMIT 1", $qi = q("SELECT * FROM `queue` WHERE `id` = %d LIMIT 1",
intval($queue_id)); intval($queue_id));
elseif (get_config("system", "worker")) { } else {
logger('Call queue for id '.$q_item['id']); logger('Call queue for id '.$q_item['id']);
proc_run(PRIORITY_LOW, "include/queue.php", $q_item['id']); proc_run(PRIORITY_LOW, "include/queue.php", $q_item['id']);
continue; continue;
} else }
$qi = q("SELECT * FROM `queue` WHERE `id` = %d AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ",
intval($q_item['id']));
if(! count($qi)) if(! count($qi))
continue; continue;
@ -225,10 +191,4 @@ function queue_run(&$argv, &$argc){
} }
return; return;
}
if (array_search(__file__,get_included_files())===0){
queue_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
} }

View file

@ -6,24 +6,7 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
function remove_contact_run($argv, $argc) { function remove_contact_run($argv, $argc) {
global $a, $db;
if (is_null($a)) {
$a = new App;
}
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
if ($argc != 2) { if ($argc != 2) {
return; return;
} }
@ -46,9 +29,4 @@ function remove_contact_run($argv, $argc) {
q("DELETE FROM `queue` WHERE `cid` = %d", intval($id)); q("DELETE FROM `queue` WHERE `cid` = %d", intval($id));
} }
if (array_search(__file__, get_included_files()) === 0) {
remove_contact_run($_SERVER["argv"], $_SERVER["argc"]);
killme();
}
?> ?>

View file

@ -5,20 +5,26 @@ use \Friendica\Core\Config;
require_once("boot.php"); require_once("boot.php");
require_once("include/threads.php"); require_once("include/threads.php");
global $a, $db; function shadowupdate_run(&$argv, &$argc){
global $a, $db;
if(is_null($a)) if (is_null($a)) {
$a = new App; $a = new App;
}
if(is_null($db)) { if (is_null($db)) {
@include(".htconfig.php"); @include(".htconfig.php");
require_once("include/dba.php"); require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data); $db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data); unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
update_shadow_copy();
} }
Config::load(); if (array_search(__file__,get_included_files())===0){
shadowupdate_run($_SERVER["argv"],$_SERVER["argc"]);
update_shadow_copy(); killme();
killme(); }
?>

View file

@ -6,24 +6,10 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/items.php"); require_once("include/items.php");
function spool_post_run($argv, $argc) { function spool_post_run($argv, $argc) {
global $a, $db; global $a;
if (is_null($a)) {
$a = new App;
}
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
Config::load();
$path = get_spoolpath(); $path = get_spoolpath();
@ -69,9 +55,4 @@ function spool_post_run($argv, $argc) {
} }
} }
} }
if (array_search(__file__, get_included_files()) === 0) {
spool_post_run($_SERVER["argv"], $_SERVER["argc"]);
killme();
}
?> ?>

View file

@ -1,24 +1,6 @@
<?php <?php
use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/tags.php"); require_once("include/tags.php");
global $a, $db; function tagupdate_run(&$argv, &$argc){
update_items();
if(is_null($a))
$a = new App;
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
} }
Config::load();
update_items();
killme();
?>

View file

@ -1,25 +1,7 @@
<?php <?php
use \Friendica\Core\Config;
require_once("boot.php");
require_once("include/threads.php"); require_once("include/threads.php");
global $a, $db; function threadupdate_run(&$argv, &$argc){
update_threads();
if(is_null($a)) update_threads_mention();
$a = new App;
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
} }
Config::load();
update_threads();
update_threads_mention();
killme();
?>

View file

@ -2,31 +2,12 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
require_once("boot.php");
function update_gcontact_run(&$argv, &$argc){ function update_gcontact_run(&$argv, &$argc){
global $a, $db; global $a;
if(is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/Scrape.php'); require_once('include/Scrape.php');
require_once("include/socgraph.php"); require_once("include/socgraph.php");
Config::load();
$a->set_baseurl(get_config('system','url'));
load_hooks();
logger('update_gcontact: start'); logger('update_gcontact: start');
if(($argc > 1) && (intval($argv[1]))) if(($argc > 1) && (intval($argv[1])))
@ -37,11 +18,6 @@ function update_gcontact_run(&$argv, &$argc){
return; return;
} }
// Don't check this stuff if the function is called by the poller
if (App::callstack() != "poller_run")
if (App::is_already_running('update_gcontact'.$contact_id, '', 540))
return;
$r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id)); $r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
if (!$r) if (!$r)
@ -98,8 +74,3 @@ function update_gcontact_run(&$argv, &$argc){
dbesc(normalise_link($data["url"])) dbesc(normalise_link($data["url"]))
); );
} }
if (array_search(__file__,get_included_files())===0){
update_gcontact_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}

View file

@ -10,7 +10,7 @@ use \Friendica\Core\PConfig;
function worker_init($a){ function worker_init($a){
if (!Config::get("system", "frontend_worker") OR !Config::get("system", "worker")) { if (!Config::get("system", "frontend_worker")) {
return; return;
} }

View file

@ -120,10 +120,6 @@
{{include file="field_input.tpl" field=$proxy}} {{include file="field_input.tpl" field=$proxy}}
{{include file="field_input.tpl" field=$proxyuser}} {{include file="field_input.tpl" field=$proxyuser}}
{{include file="field_input.tpl" field=$timeout}} {{include file="field_input.tpl" field=$timeout}}
{{if NOT $worker.2}}
{{include file="field_input.tpl" field=$delivery_interval}}
{{include file="field_input.tpl" field=$poll_interval}}
{{/if}}
{{include file="field_input.tpl" field=$maxloadavg}} {{include file="field_input.tpl" field=$maxloadavg}}
{{include file="field_input.tpl" field=$maxloadavg_frontend}} {{include file="field_input.tpl" field=$maxloadavg_frontend}}
{{include file="field_input.tpl" field=$optimize_max_tablesize}} {{include file="field_input.tpl" field=$optimize_max_tablesize}}
@ -157,13 +153,10 @@
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div> <div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
<h3>{{$worker_title}}</h3> <h3>{{$worker_title}}</h3>
{{include file="field_checkbox.tpl" field=$worker}} {{include file="field_input.tpl" field=$worker_queues}}
{{if $worker.2}} {{include file="field_checkbox.tpl" field=$worker_dont_fork}}
{{include file="field_input.tpl" field=$worker_queues}} {{include file="field_checkbox.tpl" field=$worker_fastlane}}
{{include file="field_checkbox.tpl" field=$worker_dont_fork}} {{include file="field_checkbox.tpl" field=$worker_frontend}}
{{include file="field_checkbox.tpl" field=$worker_fastlane}}
{{include file="field_checkbox.tpl" field=$worker_frontend}}
{{/if}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div> <div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
</form> </form>

View file

@ -11,7 +11,7 @@
<dl> <dl>
<dt>{{$queues.label}}</dt> <dt>{{$queues.label}}</dt>
<dd>{{$queues.deliverq}} - <a href="{{$baseurl}}/admin/queue">{{$queues.queue}}</a>{{if $workeractive}} - {{$queues.workerq}}{{/if}}</dd> <dd>{{$queues.deliverq}} - <a href="{{$baseurl}}/admin/queue">{{$queues.queue}}</a> - {{$queues.workerq}}</dd>
</dl> </dl>
<dl> <dl>
<dt>{{$pending.0}}</dt> <dt>{{$pending.0}}</dt>