Sidekiq 的提醒通知

Reminder notification with Sidekiq

我是 ROR 的新手,我正在使用 'Sidekiq' 安排提醒。我可以通过 "Sidekiq" 成功安排提醒 jobs/messages。这是 'reminder.rb'

的代码
 class Reminder < ActiveRecord::Base
  belongs_to :user
  belongs_to :status_value 
  belongs_to :communication


   after_create :add_sidekiq_job

  # before_destroy :remove_sidekiq_job

  def add_sidekiq_job
    id = ReminderWorker.perform_at(scheduled_at, {id: self.id.to_s})
    # self.update_attributes(job_id: id)
  end

  def remove_sidekiq_job
    queue =  Sidekiq::ScheduledSet.new
    job = queue.find_job(self.job_id)
    job.delete if job
  end

  def scheduled_at

    self.notification_time.to_time.to_i - Time.now.to_i
  end

end

这是 'reminderworker.rb' 的代码,我可以通过传递 ID 获得 'reminder/notification message'。

class ReminderWorker
  include Sidekiq::Worker

  def perform(args)
    reminder = Reminder.find(args['id'])
    puts "~~~~~Notificaiton~~~~~~~~"
  end
end  

到目前为止一切正常,但现在我想在我的通知页面中显示通知消息(我可以从'reminder = Reminder.find(args['id'])'获得)。我该怎么做?

如果你想在用户页面上显示这条消息,你应该使用某种持久的 pub/sub client-server 连接,这将在 sidekiq 中可用。在 Rails 5 中,它可能是 ActionCable, in previous versions of Rails - Faye 或类似的东西。