commit: 7362469d8956d5f972283aadd4157631aa66b085
parent: 1273fbf86ea3bd906e687a33e1f62c99f100ecca
Author: Akihiko Odaki (@fn_aki@pawoo.net) <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Fri, 30 Jun 2017 20:39:42 +0900
Do not raise an error if PrecomputeFeed could not find any status (#4015)
Diffstat:
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb
@@ -16,7 +16,7 @@ class PrecomputeFeedService < BaseService
pairs = statuses.reverse_each.map(&method(:process_status))
redis.pipelined do
- redis.zadd(account_home_key, pairs)
+ redis.zadd(account_home_key, pairs) if pairs.any?
redis.del("account:#{@account.id}:regeneration")
end
end
diff --git a/spec/services/precompute_feed_service_spec.rb b/spec/services/precompute_feed_service_spec.rb
@@ -18,5 +18,10 @@ RSpec.describe PrecomputeFeedService do
expect(Redis.current.zscore(FeedManager.instance.key(:home, account.id), reblog.id)).to eq status.id
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