diff options
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/pubsubhubbub/subscribe_worker.rb | 15 | ||||
-rw-r--r-- | app/workers/push_update_worker.rb | 2 |
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 |