about summary refs log tree commit diff
path: root/app/workers
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/pubsubhubbub/subscribe_worker.rb15
-rw-r--r--app/workers/push_update_worker.rb2
2 files changed, 15 insertions, 2 deletions
diff --git a/app/workers/pubsubhubbub/subscribe_worker.rb b/app/workers/pubsubhubbub/subscribe_worker.rb
index 5b0956b6b..6865e7136 100644
--- a/app/workers/pubsubhubbub/subscribe_worker.rb
+++ b/app/workers/pubsubhubbub/subscribe_worker.rb
@@ -3,7 +3,20 @@
 class Pubsubhubbub::SubscribeWorker
   include Sidekiq::Worker
 
-  sidekiq_options queue: 'push'
+  sidekiq_options queue: 'push', retry: 10, unique: :until_executed
+
+  sidekiq_retry_in do |count|
+    case count
+    when 0
+      30.minutes.seconds
+    when 1
+      2.hours.seconds
+    when 2
+      12.hours.seconds
+    else
+      24.hours.seconds * (count - 2)
+    end
+  end
 
   def perform(account_id)
     account = Account.find(account_id)
diff --git a/app/workers/push_update_worker.rb b/app/workers/push_update_worker.rb
index fbcdcf634..697cbd6a6 100644
--- a/app/workers/push_update_worker.rb
+++ b/app/workers/push_update_worker.rb
@@ -6,7 +6,7 @@ class PushUpdateWorker
   def perform(account_id, status_id)
     account = Account.find(account_id)
     status  = Status.find(status_id)
-    message = InlineRenderer.render(status, account, 'api/v1/statuses/show')
+    message = InlineRenderer.render(status, account, :status)
 
     Redis.current.publish("timeline:#{account.id}", Oj.dump(event: :update, payload: message, queued_at: (Time.now.to_f * 1000.0).to_i))
   rescue ActiveRecord::RecordNotFound