From ba463afbdcded70b88a48d76276d837a7e78ef0c Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 15 Dec 2015 00:42:19 -0800 Subject: even more queue api --- include/deliver.php | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index de93e316e..a333e6fe3 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -2,6 +2,7 @@ require_once('include/cli_startup.php'); require_once('include/zot.php'); +require_once('include/queue_fn.php'); function deliver_run($argv, $argc) { @@ -90,17 +91,11 @@ function deliver_run($argv, $argc) { dbesc($argv[$x]) ); - $y = q("delete from outq where outq_hash = '%s'", - dbesc($argv[$x]) - ); - + remove_queue_item($argv[$x]); } else { logger('deliver: queue post returned ' . $result['return_code'] . ' from ' . $r[0]['outq_posturl'],LOGGER_DEBUG); - $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'", - dbesc(datetime_convert()), - dbesc($argv[$x]) - ); + update_queue_item($argv[$x]); } continue; } @@ -127,9 +122,9 @@ function deliver_run($argv, $argc) { $msg = array('body' => json_encode(array('success' => true, 'pickup' => array(array('notify' => $notify,'message' => $m))))); $dresult = zot_import($msg,z_root()); } - $r = q("delete from outq where outq_hash = '%s'", - dbesc($argv[$x]) - ); + + remove_queue_item($argv[$x]); + if($dresult && is_array($dresult)) { foreach($dresult as $xx) { if(is_array($xx) && array_key_exists('message_id',$xx)) { @@ -162,10 +157,7 @@ function deliver_run($argv, $argc) { else { logger('deliver: remote zot delivery failed to ' . $r[0]['outq_posturl']); logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA); - $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'", - dbesc(datetime_convert()), - dbesc($argv[$x]) - ); + update_queue_item($argv[$x],10); } } } -- cgit v1.2.3 From 2aa3acae6b42ba5f7ac4d984162a9891b9c45d3c Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 15 Dec 2015 19:46:24 -0800 Subject: remove deprecated table --- include/deliver.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index a333e6fe3..cef8f7912 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -41,17 +41,12 @@ function deliver_run($argv, $argc) { ); if($y) { if(intval($y[0]['site_dead'])) { - q("delete from outq where outq_posturl = '%s'", - dbesc($r[0]['outq_posturl']) - ); + remove_queue_by_posturl($r[0]['outq_posturl']); logger('dead site ignored ' . $base); continue; } if($y[0]['site_update'] < datetime_convert('UTC','UTC','now - 1 month')) { - q("update outq set outq_priority = %d where outq_hash = '%s'", - intval($r[0]['outq_priority'] + 10), - dbesc($r[0]['outq_hash']) - ); + update_queue_item($r[0]['outq_hash'],10); logger('immediate delivery deferred for site ' . $base); continue; } -- cgit v1.2.3 From 4cacfe59bd2f2d3b41ec9173b9310039971a76c8 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 16 Dec 2015 22:42:33 -0800 Subject: queue/notification/delivery refactor continued --- include/deliver.php | 91 ++++------------------------------------------------- 1 file changed, 6 insertions(+), 85 deletions(-) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index cef8f7912..60d935d02 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -16,7 +16,6 @@ function deliver_run($argv, $argc) { logger('deliver: invoked: ' . print_r($argv,true), LOGGER_DATA); - for($x = 1; $x < $argc; $x ++) { $dresult = null; @@ -25,76 +24,6 @@ function deliver_run($argv, $argc) { ); if($r) { - /** - * Check to see if we have any recent communications with this hub (in the last month). - * If not, reduce the outq_priority. - */ - - $base = ''; - - $h = parse_url($r[0]['outq_posturl']); - if($h) { - $base = $h['scheme'] . '://' . $h['host'] . (($h['port']) ? ':' . $h['port'] : ''); - if($base !== z_root()) { - $y = q("select site_update, site_dead from site where site_url = '%s' ", - dbesc($base) - ); - if($y) { - if(intval($y[0]['site_dead'])) { - remove_queue_by_posturl($r[0]['outq_posturl']); - logger('dead site ignored ' . $base); - continue; - } - if($y[0]['site_update'] < datetime_convert('UTC','UTC','now - 1 month')) { - update_queue_item($r[0]['outq_hash'],10); - logger('immediate delivery deferred for site ' . $base); - continue; - } - } - else { - - // zot sites should all have a site record, unless they've been dead for as long as - // your site has existed. Since we don't know for sure what these sites are, - // call them unknown - - q("insert into site (site_url, site_update, site_dead, site_type) values ('%s','%s',0,%d) ", - dbesc($base), - dbesc(datetime_convert()), - intval(($r[0]['outq_driver'] === 'post') ? SITE_TYPE_NOTZOT : SITE_TYPE_UNKNOWN) - ); - } - } - } - - // "post" queue driver - used for diaspora and friendica-over-diaspora communications. - - if($r[0]['outq_driver'] === 'post') { - - - $result = z_post_url($r[0]['outq_posturl'],$r[0]['outq_msg']); - if($result['success'] && $result['return_code'] < 300) { - logger('deliver: queue post success to ' . $r[0]['outq_posturl'], LOGGER_DEBUG); - if($base) { - q("update site set site_update = '%s', site_dead = 0 where site_url = '%s' ", - dbesc(datetime_convert()), - dbesc($base) - ); - } - q("update dreport set dreport_result = '%s', dreport_time = '%s' where dreport_queue = '%s' limit 1", - dbesc('accepted for delivery'), - dbesc(datetime_convert()), - dbesc($argv[$x]) - ); - - remove_queue_item($argv[$x]); - } - else { - logger('deliver: queue post returned ' . $result['return_code'] . ' from ' . $r[0]['outq_posturl'],LOGGER_DEBUG); - update_queue_item($argv[$x]); - } - continue; - } - $notify = json_decode($r[0]['outq_notify'],true); // Messages without an outq_msg will need to go via the web, even if it's a @@ -118,7 +47,7 @@ function deliver_run($argv, $argc) { $dresult = zot_import($msg,z_root()); } - remove_queue_item($argv[$x]); + remove_queue_item($r[0]['outq_hash']); if($dresult && is_array($dresult)) { foreach($dresult as $xx) { @@ -142,19 +71,11 @@ function deliver_run($argv, $argc) { ); } } - else { - logger('deliver: dest: ' . $r[0]['outq_posturl'], LOGGER_DEBUG); - $result = zot_zot($r[0]['outq_posturl'],$r[0]['outq_notify']); - if($result['success']) { - logger('deliver: remote zot delivery succeeded to ' . $r[0]['outq_posturl']); - zot_process_response($r[0]['outq_posturl'],$result, $r[0]); - } - else { - logger('deliver: remote zot delivery failed to ' . $r[0]['outq_posturl']); - logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA); - update_queue_item($argv[$x],10); - } - } + + // otherwise it's a remote delivery - call queue_deliver(); + + queue_deliver($r[0],true); + } } } -- cgit v1.2.3 From a99d28dea939abc7eb9fbfcfcc966c40215a94b6 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Fri, 18 Dec 2015 13:46:03 -0800 Subject: sql delete with limit --- include/deliver.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index 60d935d02..7ff0fa125 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -66,7 +66,7 @@ function deliver_run($argv, $argc) { } } - q("delete from dreport where dreport_queue = '%s' limit 1", + q("delete from dreport where dreport_queue = '%s'", dbesc($argv[$x]) ); } -- cgit v1.2.3 From 2cf4ac26fdde5da6a6845d6c0dd1bb485fee2706 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 31 Dec 2015 12:26:41 -0800 Subject: log API improvements and queue optimisation for singleton networks --- include/deliver.php | 1 + 1 file changed, 1 insertion(+) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index 7ff0fa125..04070fe12 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -31,6 +31,7 @@ function deliver_run($argv, $argc) { if(($r[0]['outq_posturl'] === z_root() . '/post') && ($r[0]['outq_msg'])) { logger('deliver: local delivery', LOGGER_DEBUG); + // local delivery // we should probably batch these and save a few delivery processes -- cgit v1.2.3 From 062c03c9f7bacbb222701d2e7249d08951bcaffb Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 31 Dec 2015 12:30:49 -0800 Subject: comment clarification --- include/deliver.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/deliver.php') diff --git a/include/deliver.php b/include/deliver.php index 04070fe12..40df543d5 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -73,7 +73,7 @@ function deliver_run($argv, $argc) { } } - // otherwise it's a remote delivery - call queue_deliver(); + // otherwise it's a remote delivery - call queue_deliver() with the $immediate flag queue_deliver($r[0],true); -- cgit v1.2.3