about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAkihiko Odaki (@fn_aki@pawoo.net) <akihiko.odaki.4i@stu.hosei.ac.jp>2017-06-30 20:39:42 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-06-30 13:39:42 +0200
commit7362469d8956d5f972283aadd4157631aa66b085 (patch)
tree9c307674ae813f1fdc4ac4d909a976246faaeb35
parent1273fbf86ea3bd906e687a33e1f62c99f100ecca (diff)
Do not raise an error if PrecomputeFeed could not find any status (#4015)
-rw-r--r--app/services/precompute_feed_service.rb2
-rw-r--r--spec/services/precompute_feed_service_spec.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb
index e2f6ff0cb..a32ba1dae 100644
--- 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
index 72235a966..e2294469c 100644
--- 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