update_daemon_common: purge inactive/not updated feeds
This commit is contained in:
parent
4deb422655
commit
2ea09bdef6
|
@ -225,6 +225,8 @@
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
_debug("Purged feed $feed_id ($purge_interval): deleted $rows articles");
|
_debug("Purged feed $feed_id ($purge_interval): deleted $rows articles");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $rows;
|
||||||
} // function purge_feed
|
} // function purge_feed
|
||||||
|
|
||||||
function feed_purge_interval($link, $feed_id) {
|
function feed_purge_interval($link, $feed_id) {
|
||||||
|
|
|
@ -158,6 +158,34 @@
|
||||||
// Send feed digests by email if needed.
|
// Send feed digests by email if needed.
|
||||||
send_headlines_digests($link, $debug);
|
send_headlines_digests($link, $debug);
|
||||||
|
|
||||||
|
// Purge feeds with stale data OR not being updated for a while to keep DB size down
|
||||||
|
|
||||||
|
if ($debug) _debug("Purging inactive feeds...");
|
||||||
|
|
||||||
|
if (DB_TYPE == "pgsql") {
|
||||||
|
$interval_qpart = "NOW() - INTERVAL '1 month'";
|
||||||
|
} else {
|
||||||
|
$interval_qpart = "DATE_SUB(NOW(), INTERVAL 1 MONTH)";
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT id, feed_url FROM ttrss_feeds WHERE
|
||||||
|
(SELECT MAX(updated) FROM ttrss_entries, ttrss_user_entries WHERE
|
||||||
|
ttrss_entries.id = ref_id AND
|
||||||
|
ttrss_user_entries.feed_id = ttrss_feeds.id) < $interval_qpart OR
|
||||||
|
last_updated < $interval_qpart");
|
||||||
|
|
||||||
|
$feeds_purged = 0;
|
||||||
|
$articles_removed = 0;
|
||||||
|
|
||||||
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
$articles_removed += purge_feed($link, $line["id"], 0, false);
|
||||||
|
++$feeds_purged;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($debug && $articles_removed > 0)
|
||||||
|
_debug(sprintf("Purged %d feeds (%d articles).", $feeds_purged,
|
||||||
|
$articles_removed));
|
||||||
|
|
||||||
} // function update_daemon_common
|
} // function update_daemon_common
|
||||||
|
|
||||||
// ignore_daemon is not used
|
// ignore_daemon is not used
|
||||||
|
|
Loading…
Reference in New Issue