Merge pull request #2695 from annando/develop

"proc_run" is now called with priority.
This commit is contained in:
Tobias Diekershoff 2016-08-01 08:20:38 +02:00 committed by GitHub
commit 5a8be4057e
31 changed files with 149 additions and 137 deletions

158
boot.php
View file

@ -386,6 +386,17 @@ define ( 'GRAVITY_LIKE', 3);
define ( 'GRAVITY_COMMENT', 6); define ( 'GRAVITY_COMMENT', 6);
/* @}*/ /* @}*/
/**
* @name Priority
*
* Process priority for the worker
* @{
*/
define('PRIORITY_HIGH', 1);
define('PRIORITY_MEDIUM', 2);
define('PRIORITY_LOW', 3);
/* @}*/
// Normally this constant is defined - but not if "pcntl" isn't installed // Normally this constant is defined - but not if "pcntl" isn't installed
if (!defined("SIGTERM")) if (!defined("SIGTERM"))
@ -1241,13 +1252,34 @@ class App {
logger("killed stale process"); logger("killed stale process");
// Calling a new instance // Calling a new instance
if ($task != "") if ($task != "")
proc_run('php', $task); proc_run(PRIORITY_MEDIUM, $task);
} }
return true; return true;
} }
} }
return false; return false;
} }
function proc_run($args) {
// Add the php path if it is a php call
if (count($args) && $args[0] === 'php')
$args[0] = ((x($this->config,'php_path')) && (strlen($this->config['php_path'])) ? $this->config['php_path'] : 'php');
// add baseurl to args. cli scripts can't construct it
$args[] = $this->get_baseurl();
for($x = 0; $x < count($args); $x ++)
$args[$x] = escapeshellarg($args[$x]);
$cmdline = implode($args," ");
if(get_config('system','proc_windows'))
proc_close(proc_open('cmd /c start /b ' . $cmdline,array(),$foo,dirname(__FILE__)));
else
proc_close(proc_open($cmdline." &",array(),$foo,dirname(__FILE__)));
}
} }
/** /**
@ -1363,7 +1395,7 @@ function check_db() {
$build = DB_UPDATE_VERSION; $build = DB_UPDATE_VERSION;
} }
if($build != DB_UPDATE_VERSION) if($build != DB_UPDATE_VERSION)
proc_run('php', 'include/dbupdate.php'); proc_run(PRIORITY_HIGH, 'include/dbupdate.php');
} }
@ -1736,10 +1768,11 @@ function get_max_import_size() {
* @brief Wrap calls to proc_close(proc_open()) and call hook * @brief Wrap calls to proc_close(proc_open()) and call hook
* so plugins can take part in process :) * so plugins can take part in process :)
* *
* @param string $cmd program to run * @param (string|integer) $cmd program to run or priority
* *
* next args are passed as $cmd command line * next args are passed as $cmd command line
* e.g.: proc_run("ls","-la","/tmp"); * e.g.: proc_run("ls","-la","/tmp");
* or: proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
* *
* @note $cmd and string args are surrounded with "" * @note $cmd and string args are surrounded with ""
* *
@ -1753,7 +1786,7 @@ function proc_run($cmd){
$args = func_get_args(); $args = func_get_args();
$newargs = array(); $newargs = array();
if(! count($args)) if (!count($args))
return; return;
// expand any arrays // expand any arrays
@ -1763,8 +1796,7 @@ function proc_run($cmd){
foreach($arg as $n) { foreach($arg as $n) {
$newargs[] = $n; $newargs[] = $n;
} }
} } else
else
$newargs[] = $arg; $newargs[] = $arg;
} }
@ -1773,81 +1805,55 @@ function proc_run($cmd){
$arr = array('args' => $args, 'run_cmd' => true); $arr = array('args' => $args, 'run_cmd' => true);
call_hooks("proc_run", $arr); call_hooks("proc_run", $arr);
if(! $arr['run_cmd']) if (!$arr['run_cmd'] OR !count($args))
return; return;
if(count($args) && $args[0] === 'php') { if (!get_config("system", "worker") OR
(($args[0] != 'php') AND !is_int($args[0]))) {
if (get_config("system", "worker")) { $a->proc_run($args);
$argv = $args; return;
array_shift($argv);
$parameters = json_encode($argv);
$found = q("SELECT `id` FROM `workerqueue` WHERE `parameter` = '%s'",
dbesc($parameters));
$funcname = str_replace(".php", "", basename($argv[0]))."_run";
// Define the processes that have priority over any other process
/// @todo Better check for priority processes
$high_priority = array("delivery_run", "notifier_run", "pubsubpublish_run");
$low_priority = array("queue_run", "gprobe_run", "discover_poco_run");
if (in_array($funcname, $high_priority))
$priority = 1;
elseif (in_array($funcname, $low_priority))
$priority = 3;
else
$priority = 2;
if (!$found)
// quickfix for the delivery problems, 2106-07-28
/// @todo find better solution
//q("INSERT INTO `workerqueue` (`function`, `parameter`, `created`, `priority`)
// VALUES ('%s', '%s', '%s', %d)",
// dbesc($funcname),
q("INSERT INTO `workerqueue` (`parameter`, `created`, `priority`)
VALUES ('%s', '%s', %d)",
dbesc($parameters),
dbesc(datetime_convert()),
intval($priority));
// Should we quit and wait for the poller to be called as a cronjob?
if (get_config("system", "worker_dont_fork"))
return;
// Checking number of workers
$workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
// Get number of allowed number of worker threads
$queues = intval(get_config("system", "worker_queues"));
if ($queues == 0)
$queues = 4;
// If there are already enough workers running, don't fork another one
if ($workers[0]["workers"] >= $queues)
return;
// Now call the poller to execute the jobs that we just added to the queue
$args = array("php", "include/poller.php", "no_cron");
}
$args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
} }
// add baseurl to args. cli scripts can't construct it if (is_int($args[0]))
$args[] = $a->get_baseurl(); $priority = $args[0];
for($x = 0; $x < count($args); $x ++)
$args[$x] = escapeshellarg($args[$x]);
$cmdline = implode($args," ");
if(get_config('system','proc_windows'))
proc_close(proc_open('cmd /c start /b ' . $cmdline,array(),$foo,dirname(__FILE__)));
else else
proc_close(proc_open($cmdline." &",array(),$foo,dirname(__FILE__))); $priority = PRIORITY_MEDIUM;
$argv = $args;
array_shift($argv);
$parameters = json_encode($argv);
$found = q("SELECT `id` FROM `workerqueue` WHERE `parameter` = '%s'",
dbesc($parameters));
if (!$found)
q("INSERT INTO `workerqueue` (`parameter`, `created`, `priority`)
VALUES ('%s', '%s', %d)",
dbesc($parameters),
dbesc(datetime_convert()),
intval($priority));
// Should we quit and wait for the poller to be called as a cronjob?
if (get_config("system", "worker_dont_fork"))
return;
// Checking number of workers
$workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
// Get number of allowed number of worker threads
$queues = intval(get_config("system", "worker_queues"));
if ($queues == 0)
$queues = 4;
// If there are already enough workers running, don't fork another one
if ($workers[0]["workers"] >= $queues)
return;
// Now call the poller to execute the jobs that we just added to the queue
$args = array("php", "include/poller.php", "no_cron");
$a->proc_run($args);
} }
function current_theme(){ function current_theme(){

View file

@ -45,10 +45,10 @@ function user_remove($uid) {
// don't delete yet, will be done later when contacts have deleted my stuff // don't delete yet, will be done later when contacts have deleted my stuff
// q("DELETE FROM `user` WHERE `uid` = %d", intval($uid)); // q("DELETE FROM `user` WHERE `uid` = %d", intval($uid));
q("UPDATE `user` SET `account_removed` = 1, `account_expires_on` = UTC_TIMESTAMP() WHERE `uid` = %d", intval($uid)); q("UPDATE `user` SET `account_removed` = 1, `account_expires_on` = UTC_TIMESTAMP() WHERE `uid` = %d", intval($uid));
proc_run('php', "include/notifier.php", "removeme", $uid); proc_run(PRIORITY_HIGH, "include/notifier.php", "removeme", $uid);
// Send an update to the directory // Send an update to the directory
proc_run('php', "include/directory.php", $r[0]['url']); proc_run(PRIORITY_LOW, "include/directory.php", $r[0]['url']);
if($uid == local_user()) { if($uid == local_user()) {
unset($_SESSION['authenticated']); unset($_SESSION['authenticated']);
@ -275,7 +275,7 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) {
if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND ($profile["gid"] != 0) AND if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND ($profile["gid"] != 0) AND
in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
proc_run('php',"include/update_gcontact.php", $profile["gid"]); proc_run(PRIORITY_LOW, "include/update_gcontact.php", $profile["gid"]);
// Show contact details of Diaspora contacts only if connected // Show contact details of Diaspora contacts only if connected
if (($profile["cid"] == 0) AND ($profile["network"] == NETWORK_DIASPORA)) { if (($profile["cid"] == 0) AND ($profile["network"] == NETWORK_DIASPORA)) {

View file

@ -70,15 +70,15 @@ function cron_run(&$argv, &$argc){
// run queue delivery process in the background // run queue delivery process in the background
proc_run('php',"include/queue.php"); proc_run(PRIORITY_LOW,"include/queue.php");
// run the process to discover global contacts in the background // run the process to discover global contacts in the background
proc_run('php',"include/discover_poco.php"); proc_run(PRIORITY_LOW,"include/discover_poco.php");
// run the process to update locally stored global contacts in the background // run the process to update locally stored global contacts in the background
proc_run('php',"include/discover_poco.php", "checkcontact"); proc_run(PRIORITY_LOW,"include/discover_poco.php", "checkcontact");
// expire any expired accounts // expire any expired accounts
@ -126,11 +126,11 @@ function cron_run(&$argv, &$argc){
update_contact_birthdays(); update_contact_birthdays();
proc_run('php',"include/discover_poco.php", "suggestions"); proc_run(PRIORITY_LOW,"include/discover_poco.php", "suggestions");
set_config('system','last_expire_day',$d2); set_config('system','last_expire_day',$d2);
proc_run('php','include/expire.php'); proc_run(PRIORITY_LOW,'include/expire.php');
} }
// Clear cache entries // Clear cache entries
@ -272,7 +272,7 @@ function cron_run(&$argv, &$argc){
logger("Polling ".$contact["network"]." ".$contact["id"]." ".$contact["nick"]." ".$contact["name"]); logger("Polling ".$contact["network"]." ".$contact["id"]." ".$contact["nick"]." ".$contact["name"]);
proc_run('php','include/onepoll.php',$contact['id']); proc_run(PRIORITY_MEDIUM,'include/onepoll.php',$contact['id']);
if($interval) if($interval)
@time_sleep_until(microtime(true) + (float) $interval); @time_sleep_until(microtime(true) + (float) $interval);

View file

@ -270,7 +270,7 @@ function new_contact($uid,$url,$interactive = false) {
// pull feed and consume it, which should subscribe to the hub. // pull feed and consume it, which should subscribe to the hub.
proc_run('php',"include/onepoll.php","$contact_id", "force"); proc_run(PRIORITY_MEDIUM, "include/onepoll.php", $contact_id, "force");
// create a follow slap // create a follow slap

View file

@ -818,7 +818,7 @@ function zrl_init(&$a) {
} }
} }
proc_run('php','include/gprobe.php',bin2hex($tmp_str)); proc_run(PRIORITY_LOW, 'include/gprobe.php',bin2hex($tmp_str));
$arr = array('zrl' => $tmp_str, 'url' => $a->cmd); $arr = array('zrl' => $tmp_str, 'url' => $a->cmd);
call_hooks('zrl_init',$arr); call_hooks('zrl_init',$arr);
} }

View file

@ -917,7 +917,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
check_item_notification($current_post, $uid); check_item_notification($current_post, $uid);
if ($notify) if ($notify)
proc_run('php', "include/notifier.php", $notify_type, $current_post); proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $current_post);
return $current_post; return $current_post;
} }
@ -1156,7 +1156,7 @@ function tag_deliver($uid,$item_id) {
); );
update_thread($item_id); update_thread($item_id);
proc_run('php','include/notifier.php','tgroup',$item_id); proc_run(PRIORITY_HIGH,'include/notifier.php', 'tgroup', $item_id);
} }
@ -1763,7 +1763,7 @@ function item_expire($uid, $days, $network = "", $force = false) {
drop_item($item['id'],false); drop_item($item['id'],false);
} }
proc_run('php',"include/notifier.php","expire","$uid"); proc_run(PRIORITY_HIGH,"include/notifier.php", "expire", $uid);
} }
@ -1785,7 +1785,7 @@ function drop_items($items) {
// multiple threads may have been deleted, send an expire notification // multiple threads may have been deleted, send an expire notification
if($uid) if($uid)
proc_run('php',"include/notifier.php","expire","$uid"); proc_run(PRIORITY_HIGH,"include/notifier.php", "expire", $uid);
} }
@ -1998,7 +1998,7 @@ function drop_item($id,$interactive = true) {
// send the notification upstream/downstream as the case may be // send the notification upstream/downstream as the case may be
proc_run('php',"include/notifier.php","drop","$drop_id"); proc_run(PRIORITY_HIGH,"include/notifier.php", "drop", $drop_id);
if(! $interactive) if(! $interactive)
return $owner; return $owner;

View file

@ -153,7 +153,7 @@ function do_like($item_id, $verb) {
); );
$like_item_id = $like_item['id']; $like_item_id = $like_item['id'];
proc_run('php',"include/notifier.php","like","$like_item_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "like", $like_item_id);
return true; return true;
} }
@ -245,7 +245,7 @@ EOT;
call_hooks('post_local_end', $arr); call_hooks('post_local_end', $arr);
proc_run('php',"include/notifier.php","like","$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "like", $post_id);
return true; return true;
} }

View file

@ -150,7 +150,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
} }
if($post_id) { if($post_id) {
proc_run('php',"include/notifier.php","mail","$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "mail", $post_id);
return intval($post_id); return intval($post_id);
} else { } else {
return -3; return -3;

View file

@ -16,7 +16,7 @@ require_once('include/salmon.php');
/* /*
* The notifier is typically called with: * The notifier is typically called with:
* *
* proc_run('php', "include/notifier.php", COMMAND, ITEM_ID); * proc_run(PRIORITY_HIGH, "include/notifier.php", COMMAND, ITEM_ID);
* *
* where COMMAND is one of the following: * where COMMAND is one of the following:
* *
@ -355,7 +355,7 @@ function notifier_run(&$argv, &$argc){
// a delivery fork. private groups (forum_mode == 2) do not uplink // a delivery fork. private groups (forum_mode == 2) do not uplink
if((intval($parent['forum_mode']) == 1) && (! $top_level) && ($cmd !== 'uplink')) { if((intval($parent['forum_mode']) == 1) && (! $top_level) && ($cmd !== 'uplink')) {
proc_run('php','include/notifier.php','uplink',$item_id); proc_run(PRIORITY_HIGH,'include/notifier.php','uplink',$item_id);
} }
$conversants = array(); $conversants = array();
@ -538,7 +538,7 @@ function notifier_run(&$argv, &$argc){
$this_batch[] = $contact['id']; $this_batch[] = $contact['id'];
if(count($this_batch) >= $deliveries_per_process) { if(count($this_batch) >= $deliveries_per_process) {
proc_run('php','include/delivery.php',$cmd,$item_id,$this_batch); proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$this_batch);
$this_batch = array(); $this_batch = array();
if($interval) if($interval)
@time_sleep_until(microtime(true) + (float) $interval); @time_sleep_until(microtime(true) + (float) $interval);
@ -548,7 +548,7 @@ function notifier_run(&$argv, &$argc){
// be sure to pick up any stragglers // be sure to pick up any stragglers
if(count($this_batch)) if(count($this_batch))
proc_run('php','include/delivery.php',$cmd,$item_id,$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
@ -619,7 +619,7 @@ 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('php','include/delivery.php',$cmd,$item_id,$rr['id']); proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$rr['id']);
if($interval) if($interval)
@time_sleep_until(microtime(true) + (float) $interval); @time_sleep_until(microtime(true) + (float) $interval);
} }
@ -659,7 +659,7 @@ function notifier_run(&$argv, &$argc){
} }
// Handling the pubsubhubbub requests // Handling the pubsubhubbub requests
proc_run('php','include/pubsubpublish.php'); proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
} }
logger('notifier: calling hooks', LOGGER_DEBUG); logger('notifier: calling hooks', LOGGER_DEBUG);

View file

@ -275,6 +275,13 @@ function poller_too_much_workers() {
logger("Current load: ".$load." - maximum: ".$maxsysload." - current queues: ".$active."/".$entries." - maximum: ".$queues."/".$maxqueues, LOGGER_DEBUG); logger("Current load: ".$load." - maximum: ".$maxsysload." - current queues: ".$active."/".$entries." - maximum: ".$queues."/".$maxqueues, LOGGER_DEBUG);
// Are there fewer workers running as possible? Then fork a new one.
if (!get_config("system", "worker_dont_fork") AND ($queues > ($active + 1)) AND ($entries > 1)) {
logger("Active workers: ".$active."/".$queues." Fork a new worker.", LOGGER_DEBUG);
$args = array("php", "include/poller.php", "no_cron");
$a = get_app();
$a->proc_run($args);
}
} }
return($active >= $queues); return($active >= $queues);

View file

@ -48,7 +48,7 @@ function queue_run(&$argv, &$argc){
logger('queue: start'); logger('queue: start');
// Handling the pubsubhubbub requests // Handling the pubsubhubbub requests
proc_run('php','include/pubsubpublish.php'); proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
$interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval'))); $interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval')));
@ -60,7 +60,7 @@ function queue_run(&$argv, &$argc){
if($r) { if($r) {
foreach($r as $rr) { foreach($r as $rr) {
logger('queue: deliverq'); logger('queue: deliverq');
proc_run('php','include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']); proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']);
if($interval) if($interval)
@time_sleep_until(microtime(true) + (float) $interval); @time_sleep_until(microtime(true) + (float) $interval);
} }

View file

@ -1507,7 +1507,7 @@ function get_gcontact_id($contact) {
if ($doprobing) { if ($doprobing) {
logger("Last Contact: ". $last_contact_str." - Last Failure: ".$last_failure_str." - Checking: ".$contact["url"], LOGGER_DEBUG); logger("Last Contact: ". $last_contact_str." - Last Failure: ".$last_failure_str." - Checking: ".$contact["url"], LOGGER_DEBUG);
proc_run('php', 'include/gprobe.php', bin2hex($contact["url"])); proc_run(PRIORITY_LOW, 'include/gprobe.php', bin2hex($contact["url"]));
} }
if ((count($r) > 1) AND ($gcontact_id > 0) AND ($contact["url"] != "")) if ((count($r) > 1) AND ($gcontact_id > 0) AND ($contact["url"] != ""))

View file

@ -287,7 +287,7 @@ function import_account(&$a, $file) {
} }
// send relocate messages // send relocate messages
proc_run('php', 'include/notifier.php', 'relocate', $newuid); proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', $newuid);
info(t("Done. You can now login with your username and password")); info(t("Done. You can now login with your username and password"));
goaway($a->get_baseurl() . "/login"); goaway($a->get_baseurl() . "/login");

View file

@ -549,7 +549,7 @@ function admin_page_site_post(&$a) {
$users = q("SELECT `uid` FROM `user` WHERE `account_removed` = 0 AND `account_expired` = 0"); $users = q("SELECT `uid` FROM `user` WHERE `account_removed` = 0 AND `account_expired` = 0");
foreach ($users as $user) { foreach ($users as $user) {
proc_run('php', 'include/notifier.php', 'relocate', $user['uid']); proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', $user['uid']);
} }
info("Relocation started. Could take a while to complete."); info("Relocation started. Could take a while to complete.");

View file

@ -237,7 +237,7 @@ function _contact_update($contact_id) {
intval($contact_id)); intval($contact_id));
} else } else
// pull feed and consume it, which should subscribe to the hub. // pull feed and consume it, which should subscribe to the hub.
proc_run('php',"include/onepoll.php","$contact_id", "force"); proc_run(PRIORITY_MEDIUM, "include/onepoll.php", $contact_id, "force");
} }
function _contact_update_profile($contact_id) { function _contact_update_profile($contact_id) {

View file

@ -487,7 +487,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$i = item_store($arr); $i = item_store($arr);
if($i) if($i)
proc_run('php',"include/notifier.php","activity","$i"); proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
} }
} }
} }
@ -784,7 +784,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$i = item_store($arr); $i = item_store($arr);
if($i) if($i)
proc_run('php',"include/notifier.php","activity","$i"); proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
} }
} }

View file

@ -156,7 +156,7 @@ function dirfind_content(&$a, $prefix = "") {
} }
// Add found profiles from the global directory to the local directory // Add found profiles from the global directory to the local directory
proc_run('php','include/discover_poco.php', "dirsearch", urlencode($search)); proc_run(PRIORITY_LOW, 'include/discover_poco.php', "dirsearch", urlencode($search));
} else { } else {
$p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : ''); $p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');

View file

@ -177,7 +177,7 @@ function events_post(&$a) {
$item_id = event_store($datarray); $item_id = event_store($datarray);
if(! $cid) if(! $cid)
proc_run('php',"include/notifier.php","event","$item_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "event", $item_id);
goaway($_SESSION['return_url']); goaway($_SESSION['return_url']);
} }

View file

@ -57,7 +57,7 @@ function fsuggest_post(&$a) {
intval($fsuggest_id), intval($fsuggest_id),
intval(local_user()) intval(local_user())
); );
proc_run('php', 'include/notifier.php', 'suggest' , $fsuggest_id); proc_run(PRIORITY_HIGH, 'include/notifier.php', 'suggest', $fsuggest_id);
} }
info( t('Friend suggestion sent.') . EOL); info( t('Friend suggestion sent.') . EOL);

View file

@ -783,7 +783,7 @@ function item_post(&$a) {
// update filetags in pconfig // update filetags in pconfig
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category'); file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
proc_run('php', "include/notifier.php", 'edit_post', "$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", 'edit_post', $post_id);
if((x($_REQUEST,'return')) && strlen($return_path)) { if((x($_REQUEST,'return')) && strlen($return_path)) {
logger('return: ' . $return_path); logger('return: ' . $return_path);
goaway($a->get_baseurl() . "/" . $return_path ); goaway($a->get_baseurl() . "/" . $return_path );
@ -1032,7 +1032,7 @@ function item_post(&$a) {
// Currently the only realistic fixes are to use a reliable server - which precludes shared hosting, // Currently the only realistic fixes are to use a reliable server - which precludes shared hosting,
// or cut back on plugins which do remote deliveries. // or cut back on plugins which do remote deliveries.
proc_run('php', "include/notifier.php", $notify_type, "$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $post_id);
logger('post_complete'); logger('post_complete');

View file

@ -95,13 +95,13 @@ function mood_init(&$a) {
intval($uid), intval($uid),
intval($item_id) intval($item_id)
); );
proc_run('php',"include/notifier.php","tag","$item_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "tag", $item_id);
} }
call_hooks('post_local_end', $arr); call_hooks('post_local_end', $arr);
proc_run('php',"include/notifier.php","like","$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "like", $post_id);
return; return;
} }

View file

@ -306,7 +306,7 @@ function photos_post(&$a) {
// send the notification upstream/downstream as the case may be // send the notification upstream/downstream as the case may be
if($rr['visible']) if($rr['visible'])
proc_run('php',"include/notifier.php","drop","$drop_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
} }
} }
} }
@ -376,7 +376,7 @@ function photos_post(&$a) {
$drop_id = intval($i[0]['id']); $drop_id = intval($i[0]['id']);
if($i[0]['visible']) if($i[0]['visible'])
proc_run('php',"include/notifier.php","drop","$drop_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
} }
} }
@ -719,7 +719,7 @@ function photos_post(&$a) {
$item_id = item_store($arr); $item_id = item_store($arr);
if($item_id) { if($item_id) {
proc_run('php',"include/notifier.php","tag","$item_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "tag", $item_id);
} }
} }
@ -935,7 +935,7 @@ function photos_post(&$a) {
$item_id = item_store($arr); $item_id = item_store($arr);
if($visible) if($visible)
proc_run('php', "include/notifier.php", 'wall-new', $item_id); proc_run(PRIORITY_HIGH, "include/notifier.php", 'wall-new', $item_id);
call_hooks('photo_post_end',intval($item_id)); call_hooks('photo_post_end',intval($item_id));

View file

@ -131,13 +131,13 @@ function poke_init(&$a) {
// intval($uid), // intval($uid),
// intval($item_id) // intval($item_id)
//); //);
proc_run('php',"include/notifier.php","tag","$item_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "tag", $item_id);
} }
call_hooks('post_local_end', $arr); call_hooks('post_local_end', $arr);
proc_run('php',"include/notifier.php","like","$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "like", $post_id);
return; return;
} }

View file

@ -125,7 +125,7 @@ function profile_photo_post(&$a) {
// Update global directory in background // Update global directory in background
$url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; $url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
if($url && strlen(get_config('system','directory'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
require_once('include/profile_update.php'); require_once('include/profile_update.php');
profile_change(); profile_change();
@ -224,7 +224,7 @@ function profile_photo_content(&$a) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
goaway($a->get_baseurl() . '/profiles'); goaway($a->get_baseurl() . '/profiles');
return; // NOTREACHED return; // NOTREACHED

View file

@ -496,7 +496,7 @@ function profiles_post(&$a) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
require_once('include/profile_update.php'); require_once('include/profile_update.php');
profile_change(); profile_change();
@ -587,9 +587,8 @@ function profile_activity($changed, $value) {
$arr['deny_gid'] = $a->user['deny_gid']; $arr['deny_gid'] = $a->user['deny_gid'];
$i = item_store($arr); $i = item_store($arr);
if($i) { if($i)
proc_run('php',"include/notifier.php","activity","$i"); proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
}
} }

View file

@ -64,7 +64,7 @@ function register_post(&$a) {
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) { if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
$url = $a->get_baseurl() . '/profile/' . $user['nickname']; $url = $a->get_baseurl() . '/profile/' . $user['nickname'];
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
} }
$using_invites = get_config('system','invitation_only'); $using_invites = get_config('system','invitation_only');

View file

@ -37,7 +37,7 @@ function user_allow($hash) {
if(count($r) && $r[0]['net-publish']) { if(count($r) && $r[0]['net-publish']) {
$url = $a->get_baseurl() . '/profile/' . $user[0]['nickname']; $url = $a->get_baseurl() . '/profile/' . $user[0]['nickname'];
if($url && strlen(get_config('system','directory'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
} }
push_lang($register[0]['language']); push_lang($register[0]['language']);

View file

@ -352,7 +352,7 @@ function settings_post(&$a) {
check_form_security_token_redirectOnErr('/settings', 'settings'); check_form_security_token_redirectOnErr('/settings', 'settings');
if (x($_POST,'resend_relocate')) { if (x($_POST,'resend_relocate')) {
proc_run('php', 'include/notifier.php', 'relocate', local_user()); proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', local_user());
info(t("Relocate message has been send to your contacts")); info(t("Relocate message has been send to your contacts"));
goaway('settings'); goaway('settings');
} }
@ -614,7 +614,7 @@ function settings_post(&$a) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run(PRIORITY_LOW, "include/directory.php", $url);
} }
require_once('include/profile_update.php'); require_once('include/profile_update.php');

View file

@ -211,7 +211,7 @@ EOT;
call_hooks('post_local_end', $arr); call_hooks('post_local_end', $arr);
proc_run('php',"include/notifier.php","tag","$post_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "tag", $post_id);
killme(); killme();

View file

@ -167,7 +167,7 @@ function videos_post(&$a) {
$drop_id = intval($i[0]['id']); $drop_id = intval($i[0]['id']);
if($i[0]['visible']) if($i[0]['visible'])
proc_run('php',"include/notifier.php","drop","$drop_id"); proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
} }
} }

View file

@ -1595,7 +1595,7 @@ function update_1169() {
if (!$r) if (!$r)
return UPDATE_FAILED; return UPDATE_FAILED;
proc_run('php',"include/threadupdate.php"); proc_run(PRIORITY_LOW, "include/threadupdate.php");
return UPDATE_SUCCESS; return UPDATE_SUCCESS;
} }
@ -1636,7 +1636,7 @@ function update_1178() {
set_config('system','community_page_style', CP_NO_COMMUNITY_PAGE); set_config('system','community_page_style', CP_NO_COMMUNITY_PAGE);
// Update the central item storage with uid=0 // Update the central item storage with uid=0
proc_run('php',"include/threadupdate.php"); proc_run(PRIORITY_LOW, "include/threadupdate.php");
return UPDATE_SUCCESS; return UPDATE_SUCCESS;
} }
@ -1644,7 +1644,7 @@ function update_1178() {
function update_1180() { function update_1180() {
// Fill the new fields in the term table. // Fill the new fields in the term table.
proc_run('php',"include/tagupdate.php"); proc_run(PRIORITY_LOW, "include/tagupdate.php");
return UPDATE_SUCCESS; return UPDATE_SUCCESS;
} }