From 98f656cfcbaf81c001802dacd593ff9548345014 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 24 Sep 2015 22:51:47 -0700 Subject: delivery optimisations --- include/notifier.php | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'include/notifier.php') diff --git a/include/notifier.php b/include/notifier.php index fd95d53e2..4ce0c7c9f 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -579,7 +579,7 @@ function notifier_run($argv, $argc){ if($deliveries_per_process <= 0) $deliveries_per_process = 1; - $deliver = array(); + $deliveries = array(); foreach($dhubs as $hub) { @@ -675,7 +675,7 @@ function notifier_run($argv, $argc){ ); } } - $deliver[] = $hash; + $deliveries[] = $hash; if(count($deliver) >= $deliveries_per_process) { proc_run('php','include/deliver.php',$deliver); @@ -684,18 +684,35 @@ function notifier_run($argv, $argc){ @time_sleep_until(microtime(true) + (float) $interval); } } + + if($normal_mode) { + $x = q("select * from hook where hook = 'notifier_normal'"); + if($x) + proc_run('php','deliver_hooks.php', $target_item['id']); + } + + if($deliveries) { + $deliver = array(); + + foreach($deliveries as $d) { + + $deliver[] = $d; + + if(count($deliver) >= $deliveries_per_process) { + proc_run('php','include/deliver.php',$deliver); + $deliver = array(); + if($interval) + @time_sleep_until(microtime(true) + (float) $interval); + } + } + } // catch any stragglers - if(count($deliver)) { + if($deliver) proc_run('php','include/deliver.php',$deliver); - } logger('notifier: basic loop complete.', LOGGER_DEBUG); - - if($normal_mode) - call_hooks('notifier_normal',$target_item); - call_hooks('notifier_end',$target_item); -- cgit v1.2.3