Browse Source

By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection

master
Kurtis Rainbolt-Greene 7 years ago
parent
commit
1e96ce378e
2 changed files with 14 additions and 1 deletions
  1. +1
    -1
      app/lib/feed_manager.rb
  2. +13
    -0
      app/workers/push_update_worker.rb

+ 1
- 1
app/lib/feed_manager.rb View File

@ -34,7 +34,7 @@ class FeedManager
trim(timeline_type, account.id)
end
broadcast(account.id, event: 'update', payload: inline_render(account, 'api/v1/statuses/show', status))
PushUpdateWorker.perform_async(timeline_type, account.id, status.id)
end
def broadcast(timeline_id, options = {})

+ 13
- 0
app/workers/push_update_worker.rb View File

@ -0,0 +1,13 @@
# frozen_string_literal: true
class PushUpdateWorker
include Sidekiq::Worker
def perform(timeline, account_id, status_id)
account = Account.find(account_id)
status = Status.find(status_id)
message = inline_render(account, 'api/v1/statuses/show', status)
broadcast(account_id, type: 'update', timeline: timeline, message: message)
end
end

Loading…
Cancel
Save