diff options
author | Paolo T <tuscanhobbit@users.noreply.github.com> | 2015-03-22 16:34:40 +0100 |
---|---|---|
committer | Paolo T <tuscanhobbit@users.noreply.github.com> | 2015-03-22 16:34:40 +0100 |
commit | 82fb1ca0caaae72b77b641d22e51d5ae1b188183 (patch) | |
tree | a2ecee4e65bc80300c62b5b327965b8118117ad3 /include/deliver.php | |
parent | ff5c3b009fa25e87e294cd458d3de4b677270c64 (diff) | |
parent | e345d6793d5f6910dd230f661ca5d1a837b1b504 (diff) | |
download | volse-hubzilla-82fb1ca0caaae72b77b641d22e51d5ae1b188183.tar.gz volse-hubzilla-82fb1ca0caaae72b77b641d22e51d5ae1b188183.tar.bz2 volse-hubzilla-82fb1ca0caaae72b77b641d22e51d5ae1b188183.zip |
Merge pull request #8 from friendica/master
merging red master into nuvola.red
Diffstat (limited to 'include/deliver.php')
-rw-r--r-- | include/deliver.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/deliver.php b/include/deliver.php index 47d8562df..0fb7a4aeb 100644 --- a/include/deliver.php +++ b/include/deliver.php @@ -20,6 +20,32 @@ function deliver_run($argv, $argc) { dbesc($argv[$x]) ); if($r) { + + /** + * Check to see if we have any recent communications with this hub (in the last month). + * If not, reduce the outq_priority. + */ + + $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 from site where site_url = '%s' ", + dbesc($base) + ); + if($y && $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']) + ); + logger('immediate delivery deferred for site ' . $base); + continue; + } + } + } + + // "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) { @@ -74,9 +100,11 @@ function deliver_run($argv, $argc) { 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']); $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'", dbesc(datetime_convert()), dbesc($argv[$x]) |