You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
532 B

  1. # frozen_string_literal: true
  2. class PushUpdateWorker
  3. include Sidekiq::Worker
  4. def perform(account_id, status_id, timeline_id = nil)
  5. account = Account.find(account_id)
  6. status = Status.find(status_id)
  7. message = InlineRenderer.render(status, account, :status)
  8. timeline_id = "timeline:#{account.id}" if timeline_id.nil?
  9. Redis.current.publish(timeline_id, Oj.dump(event: :update, payload: message, queued_at: (Time.now.to_f * 1000.0).to_i))
  10. rescue ActiveRecord::RecordNotFound
  11. true
  12. end
  13. end