mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-05-07 06:33:27 -04:00
Better multiuser update
This commit is contained in:
@@ -271,13 +271,14 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
|
||||
if ($ttl == -1) {
|
||||
continue; //Feed refresh is disabled
|
||||
}
|
||||
if ($feed->lastUpdate() < time() + 60 - ($ttl == -2 ? FreshRSS_Context::$user_conf->ttl_default : $ttl)) {
|
||||
if ($feed->lastUpdate() + 10 >= time() - ($ttl == -2 ? FreshRSS_Context::$user_conf->ttl_default : $ttl)) {
|
||||
//Too early to refresh from source, but check whether the feed was updated by another user
|
||||
$mtime = $feed->cacheModifiedTime();
|
||||
if ($feed->lastUpdate() >= $mtime + 10) {
|
||||
if ($feed->lastUpdate() + 10 >= $mtime) {
|
||||
continue; //Nothing newer from other users
|
||||
}
|
||||
Minz_Log::debug($feed->url() . ' was recently updated by another user');
|
||||
//Minz_Log::debug($feed->url() . ' was updated at ' . date('c', $mtime) . ' by another user');
|
||||
//Will take advantage of the newer cache
|
||||
}
|
||||
|
||||
if (!$feed->lock()) {
|
||||
@@ -391,7 +392,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
|
||||
}
|
||||
}
|
||||
|
||||
$feedDAO->updateLastUpdate($feed->id(), 0, $entryDAO->inTransaction());
|
||||
$feedDAO->updateLastUpdate($feed->id(), false, $entryDAO->inTransaction(), $mtime);
|
||||
if ($entryDAO->inTransaction()) {
|
||||
$entryDAO->commit();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user