1 # frozen_string_literal: true
3 class PushEncryptedMessageWorker
4 include Sidekiq
::Worker
7 def perform(encrypted_message_id
)
8 encrypted_message
= EncryptedMessage
.find(encrypted_message_id
)
9 message
= InlineRenderer
.render(encrypted_message
, nil, :encrypted_message)
10 timeline_id
= "timeline:#{encrypted_message.device.account_id}:#{encrypted_message.device.device_id}"
12 redis
.publish(timeline_id
, Oj
.dump(event
: :encrypted_message, payload
: message
, queued_at
: (Time
.now
.to_f
* 1000.0).to_i
))
13 rescue ActiveRecord
::RecordNotFound