【发布时间】:2014-03-19 23:34:35
【问题描述】:
ActiveRecord::RecordNotFound: Couldn't find User with id=42606 [WHERE ("users".deleted_at IS NULL)]
devise_async.rb:
Devise::Async.backend = :sidekiq
Devise::Async.queue = :mailer
sidekiq.rb:
if Rails.env.production?
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://production-redis.xxxxxx.0001.usw2.cache.amazonaws.com', :namespace => 'sidekiq_prod' }
end
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://production-redis.xxxxxx.0001.usw2.cache.amazonaws.com', :namespace => 'sidekiq_prod' }
end
我有其他工作人员向 segment.io 发送正在运行的东西,但 devise 没有发送我的欢迎电子邮件或密码重置电子邮件,因为它找不到用户。我认为它连接到了错误的数据库,但我不确定。
如果它无法找到我的用户,我将不胜感激。
【问题讨论】:
-
还 - 用户表的 db-schema(特别是 deleted_at 默认值)? - 只是为了确保这不是一个简单的范围界定问题......
-
'deleted_at IS NULL' 来自 paranoid gem,它允许您恢复已删除的记录。使用模型代码是什么意思?自从我提出这个问题以来,我一直注意到 sidekiq 重试最终会起作用.. 大约 10 分钟后。很奇怪。
-
这应该是“用户模型代码”...但如果只是花一点时间,可能是网络速度慢和超时问题?
-
会不会是这个问题? github.com/mperham/sidekiq/wiki/…
标签: ruby-on-rails devise sidekiq