Reduce number of items in feeds, optimize regeneration worker slightly,
make regeneration worker unique, (only schedule/execute once at a time)
This commit is contained in:
parent
b1f3499c38
commit
82aaedec46
5 changed files with 20 additions and 7 deletions
|
@ -5,9 +5,11 @@ class PrecomputeFeedService < BaseService
|
|||
# @param [Symbol] type :home or :mentions
|
||||
# @param [Account] account
|
||||
def call(_, account)
|
||||
Status.as_home_timeline(account).limit(FeedManager::MAX_ITEMS).each do |status|
|
||||
next if status.direct_visibility? || FeedManager.instance.filter?(:home, status, account)
|
||||
redis.zadd(FeedManager.instance.key(:home, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id)
|
||||
redis.pipelined do
|
||||
Status.as_home_timeline(account).limit(FeedManager::MAX_ITEMS / 4).each do |status|
|
||||
next if status.direct_visibility? || FeedManager.instance.filter?(:home, status, account)
|
||||
redis.zadd(FeedManager.instance.key(:home, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue