allow configurable poll interval override when hub is used

This commit is contained in:
Friendika 2010-12-21 14:51:26 -08:00
parent ddec422de6
commit 5b1fde8b0f
2 changed files with 27 additions and 10 deletions

View file

@ -43,17 +43,31 @@
if($contact['priority'] || $contact['subhub']) { if($contact['priority'] || $contact['subhub']) {
$update = false; $hub_update = true;
$update = false;
// We should be getting everything via a hub. But just to be sure, let's check once a day.
// This also lets us update our subscription to the hub, and add or replace hubs in case it
// changed.
if($contact['subhub'])
$contact['priority'] = 3;
$t = $contact['last-update']; $t = $contact['last-update'];
// We should be getting everything via a hub. But just to be sure, let's check once a day.
// (You can make this more or less frequent if desired by setting 'pushpoll_frequency' appropriately)
// This also lets us update our subscription to the hub, and add or replace hubs in case it
// changed. We will only update hubs once a day, regardless of 'pushpoll_frequency'.
if($contact['subhub']) {
$interval = get_config('system','pushpoll_frequency');
$contact['priority'] = (($interval !== false) ? intval($interval) : 3);
$hub_update = false;
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
$hub_update = true;
}
/**
* Based on $contact['priority'], should we poll this site now? Or later?
*/
switch ($contact['priority']) { switch ($contact['priority']) {
case 5: case 5:
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 month")) if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 month"))
@ -218,7 +232,8 @@
consume_feed($xml,$importer,$contact,$hub); consume_feed($xml,$importer,$contact,$hub);
if((strlen($hub)) && (($contact['rel'] == REL_BUD) || (($contact['network'] === 'stat') && (! $contact['readonly'])))) { if((strlen($hub)) && ($hub_update)
&& (($contact['rel'] == REL_BUD) || (($contact['network'] === 'stat') && (! $contact['readonly'])))) {
logger('poller: subscribing to hub(s) : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']); logger('poller: subscribing to hub(s) : ' . $hub . ' contact name : ' . $contact['name'] . ' local user : ' . $importer['name']);
$hubs = explode(',', $hub); $hubs = explode(',', $hub);
if(count($hubs)) { if(count($hubs)) {

View file

@ -61,8 +61,10 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
* *
*/ */
if(! $install) if(! $install) {
require_once("session.php"); require_once("session.php");
load_hooks();
}
require_once("datetime.php"); require_once("datetime.php");