Ruby on rails Sidekiq有50%的时间在我的数据库中找不到记录

Ruby on rails Sidekiq有50%的时间在我的数据库中找不到记录,ruby-on-rails,activerecord,redis,sidekiq,rails-activejob,Ruby On Rails,Activerecord,Redis,Sidekiq,Rails Activejob,这是我的工作: MessageJob.perform_later(@recipient.id.to_s, @sender.id.to_s, @message.body) 有50%的情况下,我在sidekiq控制台中出现以下错误,但作业没有执行 ActiveRecord::RecordNotFound: Couldn't find User with 'id'=369 知道为什么会这样吗?该记录在作业发送到queu之前很久就存在,因此它没有链接到“创建后/提交后”问题。请共享更多相关代码,如M

这是我的工作:

MessageJob.perform_later(@recipient.id.to_s, @sender.id.to_s, @message.body)
有50%的情况下,我在sidekiq控制台中出现以下错误,但作业没有执行

ActiveRecord::RecordNotFound: Couldn't find User with 'id'=369

知道为什么会这样吗?该记录在作业发送到queu之前很久就存在,因此它没有链接到“创建后/提交后”问题。

请共享更多相关代码,如
MessageJob\perform
的实现,甚至整个过程class@Hugo可能是
@recipient
@sender
已被“销毁”在sidekiq执行作业时?还有,你是如何知道或者是什么让你确信50%的时间失败的?因为假设这不是50%的时间,我还能想到其他一些原因:比如很多工作都失败了,但在未来它们不再存在的地方重试。此外,您是否可以尝试将
放置@recipient.reload.id
放置@sender.reload.id
插入到
MessageJob.的正上方。稍后执行(…)
?这消除了一些可能的原因。我创建了另一个线程来让事情更清楚:关闭这个线程。可能的重复