push_encrypted_message_worker.rb 560 B

12345678910111213141516
  1. # frozen_string_literal: true
  2. class PushEncryptedMessageWorker
  3. include Sidekiq::Worker
  4. include Redisable
  5. def perform(encrypted_message_id)
  6. encrypted_message = EncryptedMessage.find(encrypted_message_id)
  7. message = InlineRenderer.render(encrypted_message, nil, :encrypted_message)
  8. timeline_id = "timeline:#{encrypted_message.device.account_id}:#{encrypted_message.device.device_id}"
  9. redis.publish(timeline_id, Oj.dump(event: :encrypted_message, payload: message))
  10. rescue ActiveRecord::RecordNotFound
  11. true
  12. end
  13. end