From e3a19469eb6940249ad87662399d14dbf2a79847 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 12 Dec 2022 09:03:49 +0000 Subject: bring back poll and delivery interval --- Zotlabs/Daemon/Cron.php | 20 ++++++++++---------- Zotlabs/Daemon/Poller.php | 24 +++++++++++------------- Zotlabs/Lib/Libsync.php | 9 +++++---- Zotlabs/Module/Admin/Site.php | 12 ++++++------ Zotlabs/Widget/Messages.php | 7 ++++--- include/hubloc.php | 10 ++++++---- include/network.php | 10 +++++----- view/tpl/admin_site.tpl | 4 ++-- 8 files changed, 49 insertions(+), 47 deletions(-) diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php index 9b8946e57..b8bcbe3a2 100644 --- a/Zotlabs/Daemon/Cron.php +++ b/Zotlabs/Daemon/Cron.php @@ -52,7 +52,7 @@ class Cron { require_once('include/account.php'); remove_expired_registrations(); - //$interval = get_config('system', 'delivery_interval', 3); + $interval = get_config('system', 'delivery_interval', 3); // expire any expired items @@ -67,10 +67,10 @@ class Cron { if ($rr['item_wall']) { // The notifier isn't normally invoked unless item_drop is interactive. Master::Summon(['Notifier', 'drop', $rr['id']]); - /* - if ($interval) + + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } } } } @@ -100,10 +100,10 @@ class Cron { if ($r) { foreach ($r as $rr) { Master::Summon(array('Directory', $rr['channel_id'], 'force')); - /* - if ($interval) + + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } } } @@ -157,10 +157,10 @@ class Cron { ); } Master::Summon(array('Notifier', 'wall-new', $rr['id'])); - /* - if ($interval) + + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } } } } diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php index 5bf8d3a02..b43b814f7 100644 --- a/Zotlabs/Daemon/Poller.php +++ b/Zotlabs/Daemon/Poller.php @@ -17,12 +17,13 @@ class Poller { } } -/* + $interval = intval(get_config('system', 'poll_interval')); - if (!$interval) + if (!$interval) { $interval = ((get_config('system', 'delivery_interval') === false) ? 3 : intval(get_config('system', 'delivery_interval'))); + } - +/* // Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it. $lockfile = 'store/[data]/poller'; if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600)) @@ -106,10 +107,10 @@ class Poller { if ($t < $x) { Master::Summon(['Onepoll', $contact['abook_id']]); - /* - if ($interval) + + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } } continue; @@ -173,11 +174,9 @@ class Poller { Master::Summon(['Onepoll', $contact['abook_id']]); - /* - if ($interval) + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ - + } } } @@ -201,10 +200,9 @@ class Poller { Master::Summon(['Onedirsync', $rr['ud_id']]); - /* - if ($interval) + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } } } } diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php index b02ae4c69..2d6d86d78 100644 --- a/Zotlabs/Lib/Libsync.php +++ b/Zotlabs/Lib/Libsync.php @@ -135,10 +135,9 @@ class Libsync { $info['collection_members'] = $r; } - /* + $interval = ((get_config('system', 'delivery_interval') !== false) ? intval(get_config('system', 'delivery_interval')) : 2); - */ logger('Packet: ' . print_r($info, true), LOGGER_DATA, LOG_DEBUG); @@ -171,10 +170,12 @@ class Libsync { /* $total = $total - 1; + */ - if ($interval && $total) + if ($interval) { @time_sleep_until(microtime(true) + (float)$interval); - */ + } + } } diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php index e3feee1bb..42cf064c9 100644 --- a/Zotlabs/Module/Admin/Site.php +++ b/Zotlabs/Module/Admin/Site.php @@ -83,9 +83,9 @@ class Site { $proxyuser = ((x($_POST,'proxyuser')) ? notags(trim($_POST['proxyuser'])) : ''); $proxy = ((x($_POST,'proxy')) ? notags(trim($_POST['proxy'])) : ''); $timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60); - //$delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0); + $delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0); $delivery_batch_count = ((x($_POST,'delivery_batch_count') && $_POST['delivery_batch_count'] > 0)? intval(trim($_POST['delivery_batch_count'])) : 1); - //$poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0); + $poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0); $maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50); $feed_contacts = ((x($_POST,'feed_contacts')) ? intval($_POST['feed_contacts']) : 0); $verify_email = ((x($_POST,'verify_email')) ? 1 : 0); @@ -136,9 +136,9 @@ class Site { // <-hilmar] set_config('system', 'feed_contacts', $feed_contacts); - //set_config('system', 'delivery_interval', $delivery_interval); + set_config('system', 'delivery_interval', $delivery_interval); set_config('system', 'delivery_batch_count', $delivery_batch_count); - //set_config('system', 'poll_interval', $poll_interval); + set_config('system', 'poll_interval', $poll_interval); set_config('system', 'maxloadavg', $maxloadavg); set_config('system', 'frontpage', $frontpage); set_config('system', 'sellpage', $site_sellpage); @@ -530,10 +530,10 @@ class Site { '$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""), '$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""), '$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")), - //'$delivery_interval' => array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers.")), + '$delivery_interval' => array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers.")), '$delivery_batch_count' => array('delivery_batch_count', t('Deliveries per process'),(x(get_config('system','delivery_batch_count'))?get_config('system','delivery_batch_count'):1), t("Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5.")), //'$force_queue' => array('force_queue', t("Queue Threshold"), get_config('system','force_queue_threshold',3000), t("Always defer immediate delivery if queue contains more than this number of entries.")), - //'$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")), + '$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")), '$imagick_path' => array('imagick_path', t("Path to ImageMagick convert program"), get_config('system','imagick_convert_path'), t("If set, use this program to generate photo thumbnails for huge images ( > 4000 pixels in either dimension), otherwise memory exhaustion may occur. Example: /usr/bin/convert")), '$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")), '$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')), diff --git a/Zotlabs/Widget/Messages.php b/Zotlabs/Widget/Messages.php index 0f57a8d85..9a3f0fa9c 100644 --- a/Zotlabs/Widget/Messages.php +++ b/Zotlabs/Widget/Messages.php @@ -58,7 +58,8 @@ class Messages { } $channel = App::get_channel(); - $item_normal = str_replace('item.', 'i.', item_normal()); + $item_normal_i = str_replace('item.', 'i.', item_normal()); + $item_normal_c = str_replace('item.', 'c.', item_normal()); $entries = []; $limit = 30; $dummy_order_sql = ''; @@ -89,12 +90,12 @@ class Messages { } $items = q("SELECT *, - (SELECT count(*) FROM item c WHERE c.uid = %d AND c.parent = i.parent AND c.item_unseen = 1 AND c.item_thread_top = 0 $vnotify_sql) AS unseen_count + (SELECT count(*) FROM item c WHERE c.uid = %d AND c.parent = i.parent AND c.item_unseen = 1 AND c.item_thread_top = 0 $item_normal_c $vnotify_sql) AS unseen_count FROM item i WHERE i.uid = %d AND i.created <= '%s' $type_sql AND i.item_thread_top = 1 - $item_normal + $item_normal_i ORDER BY i.created DESC $dummy_order_sql LIMIT $limit OFFSET $offset", intval(local_channel()), diff --git a/include/hubloc.php b/include/hubloc.php index 016d82f23..edd452dd3 100644 --- a/include/hubloc.php +++ b/include/hubloc.php @@ -155,8 +155,8 @@ function remove_obsolete_hublocs() { logger('remove_obsolete_hublocs: removing ' . count($r) . ' hublocs.'); - //$interval = ((get_config('system', 'delivery_interval') !== false) - //? intval(get_config('system', 'delivery_interval')) : 2 ); + $interval = ((get_config('system', 'delivery_interval') !== false) + ? intval(get_config('system', 'delivery_interval')) : 2 ); foreach($r as $rr) { q("update hubloc set hubloc_deleted = 1 where hubloc_id = %d", @@ -168,8 +168,10 @@ function remove_obsolete_hublocs() { ); if($x) { Master::Summon(array('Notifier', 'refresh_all', $x[0]['channel_id'])); - //if($interval) - //@time_sleep_until(microtime(true) + (float) $interval); + + if($interval) { + @time_sleep_until(microtime(true) + (float) $interval); + } } } } diff --git a/include/network.php b/include/network.php index 7deffe06c..52c21d808 100644 --- a/include/network.php +++ b/include/network.php @@ -1476,12 +1476,12 @@ function do_delivery($deliveries, $force = false) { } return; } - + */ $interval = ((get_config('system','delivery_interval') !== false) ? intval(get_config('system','delivery_interval')) : 2 ); - */ + $deliveries_per_process = intval(get_config('system','delivery_batch_count')); @@ -1500,10 +1500,10 @@ function do_delivery($deliveries, $force = false) { if(count($deliver) >= $deliveries_per_process) { Zotlabs\Daemon\Master::Summon(['Deliver', $deliver]); $deliver = []; - /* - if($interval) + + if($interval) { @time_sleep_until(microtime(true) + (float) $interval); - */ + } } } diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl index bad68361b..ae63edc04 100644 --- a/view/tpl/admin_site.tpl +++ b/view/tpl/admin_site.tpl @@ -72,10 +72,10 @@ {{include file="field_input.tpl" field=$proxy}} {{include file="field_input.tpl" field=$proxyuser}} {{include file="field_input.tpl" field=$timeout}} - {{**include file="field_input.tpl" field=$delivery_interval**}} + {{include file="field_input.tpl" field=$delivery_interval}} {{include file="field_input.tpl" field=$delivery_batch_count}} {{**include file="field_input.tpl" field=$force_queue**}} - {{**include file="field_input.tpl" field=$poll_interval**}} + {{include file="field_input.tpl" field=$poll_interval}} {{include file="field_input.tpl" field=$maxloadavg}} {{include file="field_input.tpl" field=$default_expire_days}} {{include file="field_input.tpl" field=$active_expire_days}} -- cgit v1.2.3