Add proper message to PushUpdateWorker, use redis directly

This commit is contained in:
Eugen 2017-04-05 18:48:41 +02:00 committed by GitHub
parent 3d8b80e1cc
commit 1b8c244dff

View file

@ -5,7 +5,8 @@ class PushUpdateWorker
def perform(timeline, account_id, status_id) def perform(timeline, account_id, status_id)
account = Account.find(account_id) account = Account.find(account_id)
status = Status.find(status_id) status = Status.find(status_id)
message = Rabl::Renderer.new( message = Rabl::Renderer.new(
'api/v1/statuses/show', 'api/v1/statuses/show',
status, status,
@ -14,6 +15,8 @@ class PushUpdateWorker
scope: InlineRablScope.new(account) scope: InlineRablScope.new(account)
) )
ActionCable.server.broadcast("timeline:#{account_id}", type: 'update', timeline: timeline, message: message.render) Redis.current.publish("timeline:#{timeline_id}", Oj.dump({ event: :update, payload: message, queued_at: (Time.now.to_f * 1000.0).to_i }))
rescue ActiveRecord::RecordNotFound
true
end end
end end