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 或类似的东西。
我是 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 或类似的东西。