aboutsummaryrefslogtreecommitdiffstats
path: root/include/poller.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-28 00:11:44 -0700
committerfriendica <info@friendica.com>2013-10-28 00:11:44 -0700
commit1bf6591e1b98ef6704ee1bab72bad7dca7ab301f (patch)
tree9f97cc5fda66763025e2875cb148fc867b5b0fad /include/poller.php
parentd389ceed6cc44c54c971da4bb8538850a0fb0672 (diff)
downloadvolse-hubzilla-1bf6591e1b98ef6704ee1bab72bad7dca7ab301f.tar.gz
volse-hubzilla-1bf6591e1b98ef6704ee1bab72bad7dca7ab301f.tar.bz2
volse-hubzilla-1bf6591e1b98ef6704ee1bab72bad7dca7ab301f.zip
implement monthly directory pings
Diffstat (limited to 'include/poller.php')
-rw-r--r--include/poller.php21
1 files changed, 18 insertions, 3 deletions
diff --git a/include/poller.php b/include/poller.php
index 94ca99e54..f3a997913 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -21,6 +21,11 @@ function poller_run($argv, $argc){
}
}
+ $interval = intval(get_config('system','poll_interval'));
+ if(! $interval)
+ $interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
+
+
logger('poller: start');
// run queue delivery process in the background
@@ -38,6 +43,19 @@ function poller_run($argv, $argc){
intval(ACCOUNT_EXPIRED)
);
+ // Ensure that every channel pings a directory server once a month. This way we can discover
+ // channels and sites that quietly vanished and prevent the directory from accumulating stale
+ // or dead entries.
+
+ $r = q("select channel_id from channel where channel_dirdate < UTC_TIMESTAMP() - INTERVAL 30 DAY");
+ if($r) {
+ foreach($r as $rr) {
+ proc_run('php','include/directory.php',$rr['channel_id']);
+ if($interval)
+ @time_sleep_until(microtime(true) + (float) $interval);
+ }
+ }
+
// publish any applicable items that were set to be published in the future
// (time travel posts)
@@ -134,9 +152,6 @@ function poller_run($argv, $argc){
$force = true;
}
- $interval = intval(get_config('system','poll_interval'));
- if(! $interval)
- $interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
$sql_extra = (($manual_id) ? " AND abook_id = $manual_id " : "");