【发布时间】:2019-01-24 06:35:31
【问题描述】:
在模型中创建用户后,作业会排队
user.rb
after_create_commit :profile_photo_job
def profile_photo_job
message = "Add a profile photo"
ReminderJob.set(wait: 1800).perform_later(self.id.to_s, message)
end
reminder_job.rb
class ReminderJob < ApplicationJob
queue_as :default
def perform(user_id, message)
if user_id
user = User.find(user_id)
end
##sending message notification here
end
end
但是,它经常在我的 sidekiq 控制台中引发以下错误
ActiveRecord::RecordNotFound: 找不到 'id'=7749 的用户 处理器:User-MacBook-Pro.local:*****
这个错误发生在生产环境中。
【问题讨论】:
标签: ruby-on-rails activerecord redis sidekiq rails-activejob