闭社主体 forked from https://github.com/tootsuite/mastodon
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.

22 lines
589 B

  1. # frozen_string_literal: true
  2. class PushUpdateWorker
  3. include Sidekiq::Worker
  4. def perform(timeline, account_id, status_id)
  5. account = Account.find(account_id)
  6. status = Status.find(status_id)
  7. message = Rabl::Renderer.new(
  8. 'api/v1/statuses/show',
  9. status,
  10. view_path: 'app/views',
  11. format: :json,
  12. scope: InlineRablScope.new(account)
  13. )
  14. Redis.current.publish("timeline:#{account.id}", Oj.dump({ event: :update, payload: message, queued_at: (Time.now.to_f * 1000.0).to_i }))
  15. rescue ActiveRecord::RecordNotFound
  16. true
  17. end
  18. end