]> git.mxchange.org Git - friendica.git/commitdiff
Added configuration for the bulk delivery
authorMichael <heluecht@pirati.ca>
Mon, 2 May 2022 17:34:40 +0000 (17:34 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 2 May 2022 17:34:40 +0000 (17:34 +0000)
src/Worker/Notifier.php
static/defaults.config.php

index 5ec35a656b0b4db8dc84d82c67849ff721561d0d..0ce5ed92a781406417ac199f75407e2e0b472aab 100644 (file)
@@ -786,10 +786,17 @@ class Notifier
 
                        Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]);
 
-                       if (Worker::add(['priority' => $priority, 'created' => $created, 'dont_fork' => true],
-                                       'APDelivery', $cmd, 0, $inbox, $uid)) {
-                               $delivery_queue_count++;
-                               Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd);
+                       if (DI::config()->get('system', 'bulk_delivery')) {
+                               if (Worker::add(['priority' => $priority, 'created' => $created, 'dont_fork' => true],
+                                               'APDelivery', $cmd, 0, $inbox, $uid)) {
+                                       $delivery_queue_count++;
+                                       Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd);
+                               }
+                       } else {
+                               if (Worker::add(['priority' => $priority, 'created' => $created, 'dont_fork' => true],
+                                               'APDelivery', $cmd, $target_item['id'], $inbox, $uid, $receivers, $target_item['uri-id'])) {
+                                       $delivery_queue_count++;
+                               }
                        }
                }
 
@@ -797,9 +804,15 @@ class Notifier
                foreach ($relay_inboxes as $inbox) {
                        Logger::info('Delivery to relay servers via ActivityPub', ['cmd' => $cmd, 'id' => $target_item['id'], 'inbox' => $inbox]);
 
-                       if (Worker::add(['priority' => $priority, 'dont_fork' => true], 'APDelivery', $cmd, 0, $inbox, $uid)) {
-                               $delivery_queue_count++;
-                               Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd);
+                       if (DI::config()->get('system', 'bulk_delivery')) {
+                               if (Worker::add(['priority' => $priority, 'dont_fork' => true], 'APDelivery', $cmd, 0, $inbox, $uid)) {
+                                       $delivery_queue_count++;
+                                       Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd);
+                               }
+                       } else {
+                               if (Worker::add(['priority' => $priority, 'dont_fork' => true], 'APDelivery', $cmd, $target_item['id'], $inbox, $uid, [], $target_item['uri-id'])) {
+                                       $delivery_queue_count++;
+                               }
                        }
                }
 
index 006c3d4f57cf374a2f22229ec605f8f6c40d0199..336916ceff18ef2637e6778fc49fe0b9cb49ae44 100644 (file)
@@ -122,6 +122,10 @@ return [
                // Display "Emoji Only" posts in big.
                'big_emojis' => false,
 
+               // bulk_delivery (Boolean)
+               // Delivers AP messages in a bulk (experimental)
+               'bulk_delivery' => false,
+
                // block_local_dir (Boolean)
                // Deny public access to the local user directory.
                'block_local_dir' => false,