diff options
author | friendica <info@friendica.com> | 2012-05-07 15:54:49 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-05-07 15:54:49 -0700 |
commit | 189a31e6287781e03a874b13e27dedefe2beedf3 (patch) | |
tree | e151365d584ea12cadd06b1114492cef620cbdc4 /include/delivery.php | |
parent | e8b9b8a403f4b13ed1548c3a8e616cadcd65e43e (diff) | |
download | volse-hubzilla-189a31e6287781e03a874b13e27dedefe2beedf3.tar.gz volse-hubzilla-189a31e6287781e03a874b13e27dedefe2beedf3.tar.bz2 volse-hubzilla-189a31e6287781e03a874b13e27dedefe2beedf3.zip |
If a contact has had delivery issues in the last 15 minutes, send new posts straight to the queue
and don't even try to connect. Also defer polling for stuck contacts. Should reduce the number of
stuck processes trying to connect with dead or dying servers significantly.
Diffstat (limited to 'include/delivery.php')
-rw-r--r-- | include/delivery.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/delivery.php b/include/delivery.php index 28d81226a..5f84a548a 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -347,7 +347,10 @@ function delivery_run($argv, $argc){ } } - $deliver_status = dfrn_deliver($owner,$contact,$atom); + if(! was_recently_delayed($contact['id'])) + $deliver_status = dfrn_deliver($owner,$contact,$atom); + else + $deliver_status = (-1); logger('notifier: dfrn_delivery returns ' . $deliver_status); @@ -390,7 +393,11 @@ function delivery_run($argv, $argc){ logger('notifier: slapdelivery: ' . $contact['name']); foreach($slaps as $slappy) { if($contact['notify']) { - $deliver_status = slapper($owner,$contact['notify'],$slappy); + if(! was_recently_delayed($contact['id'])) + $deliver_status = slapper($owner,$contact['notify'],$slappy); + else + $deliver_status = (-1); + if($deliver_status == (-1)) { // queue message for redelivery add_to_queue($contact['id'],NETWORK_OSTATUS,$slappy); |