Do not raise an error if PrecomputeFeed could not find any status (#4015)

This commit is contained in:
Akihiko Odaki (@fn_aki@pawoo.net) 2017-06-30 20:39:42 +09:00 committed by Eugen Rochko
parent 1273fbf86e
commit 7362469d89
2 changed files with 6 additions and 1 deletions

View File

@ -16,7 +16,7 @@ class PrecomputeFeedService < BaseService
pairs = statuses.reverse_each.map(&method(:process_status)) pairs = statuses.reverse_each.map(&method(:process_status))
redis.pipelined do redis.pipelined do
redis.zadd(account_home_key, pairs) redis.zadd(account_home_key, pairs) if pairs.any?
redis.del("account:#{@account.id}:regeneration") redis.del("account:#{@account.id}:regeneration")
end end
end end

View File

@ -18,5 +18,10 @@ RSpec.describe PrecomputeFeedService do
expect(Redis.current.zscore(FeedManager.instance.key(:home, account.id), reblog.id)).to eq status.id expect(Redis.current.zscore(FeedManager.instance.key(:home, account.id), reblog.id)).to eq status.id
end end
it 'does not raise an error even if it could not find any status' do
account = Fabricate(:account)
subject.call(account)
end
end end
end end