2018-10-08 00:44:58 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class PushConversationWorker
|
|
|
|
include Sidekiq::Worker
|
2020-06-02 20:24:53 +03:00
|
|
|
include Redisable
|
2018-10-08 00:44:58 +03:00
|
|
|
|
|
|
|
def perform(conversation_account_id)
|
|
|
|
conversation = AccountConversation.find(conversation_account_id)
|
|
|
|
message = InlineRenderer.render(conversation, conversation.account, :conversation)
|
|
|
|
timeline_id = "timeline:direct:#{conversation.account_id}"
|
|
|
|
|
2020-06-02 20:24:53 +03:00
|
|
|
redis.publish(timeline_id, Oj.dump(event: :conversation, payload: message, queued_at: (Time.now.to_f * 1000.0).to_i))
|
2018-10-08 00:44:58 +03:00
|
|
|
rescue ActiveRecord::RecordNotFound
|
|
|
|
true
|
|
|
|
end
|
|
|
|
end
|