By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection
This commit is contained in:
parent
ccb6a658fd
commit
1e96ce378e
2 changed files with 14 additions and 1 deletions
|
@ -34,7 +34,7 @@ class FeedManager
|
||||||
trim(timeline_type, account.id)
|
trim(timeline_type, account.id)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
def broadcast(timeline_id, options = {})
|
def broadcast(timeline_id, options = {})
|
||||||
|
|
13
app/workers/push_update_worker.rb
Normal file
13
app/workers/push_update_worker.rb
Normal 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…
Reference in a new issue