diff options
author | Mario <mario@mariovavti.com> | 2022-11-17 11:50:13 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2022-11-17 11:50:13 +0000 |
commit | 0e6b27c9f46141c3ca92fc8dddc51d866cf5f3c9 (patch) | |
tree | 3f6e8bd535cd23e3bfe88a873ba432fad231d4cb | |
parent | 0e157e4e8b480b4a848a05e73aa11dfcd54dfd9b (diff) | |
download | volse-hubzilla-0e6b27c9f46141c3ca92fc8dddc51d866cf5f3c9.tar.gz volse-hubzilla-0e6b27c9f46141c3ca92fc8dddc51d866cf5f3c9.tar.bz2 volse-hubzilla-0e6b27c9f46141c3ca92fc8dddc51d866cf5f3c9.zip |
if a feed fails, do not update connected timestamp. attempt to poll feeds only once a day if we could not fetch it last time we tried
-rw-r--r-- | Zotlabs/Daemon/Onepoll.php | 13 | ||||
-rw-r--r-- | Zotlabs/Daemon/Poller.php | 7 |
2 files changed, 18 insertions, 2 deletions
diff --git a/Zotlabs/Daemon/Onepoll.php b/Zotlabs/Daemon/Onepoll.php index f2b5d8c58..0a30a0c7d 100644 --- a/Zotlabs/Daemon/Onepoll.php +++ b/Zotlabs/Daemon/Onepoll.php @@ -64,12 +64,21 @@ class Onepoll { if ($contact['xchan_network'] === 'rss') { logger('onepoll: processing feed ' . $contact['xchan_name'], LOGGER_DEBUG); $alive = handle_feed($importer['channel_id'], $contact_id, $contact['xchan_hash']); - if ($alive) { - q("update abook set abook_connected = '%s' where abook_id = %d", + + if (!$alive) { + q("update abook set abook_updated = '%s' where abook_id = %d", dbesc(datetime_convert()), intval($contact['abook_id']) ); + return; } + + q("update abook set abook_updated = '%s', abook_connected = '%s' where abook_id = %d", + dbesc(datetime_convert()), + dbesc(datetime_convert()), + intval($contact['abook_id']) + ); + return; } diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php index 88213a7c9..702c940a3 100644 --- a/Zotlabs/Daemon/Poller.php +++ b/Zotlabs/Daemon/Poller.php @@ -93,7 +93,14 @@ class Poller { $min = intval(get_config('system', 'minimum_feedcheck_minutes')); if (!$min) $min = 60; + + if ($t !== $c) { + // if the last fetch failed only attempt fetch once a day + $min = 60 * 24; + } + $x = datetime_convert('UTC', 'UTC', "now - $min minutes"); + if ($c < $x) { Master::Summon(['Onepoll', $contact['abook_id']]); if ($interval) |