Sidekiq 偶尔会为活动记录查询获取零
Sidekiq sporadically is getting nil for active records queries
我的项目由一台有发条的机器组成,它在数据库中创建新模型。
我还在模型 after_create 中使用 perform_async 创建了一个 sidekiq 任务。
我的问题是:
偶尔,当 sidekiq 作业启动时,它会查询生成它的模型(如果模型 X 创建了一个带有参数 - X 的 sidekiq 作业,sidekiq 作业查询带有 id X 的模型) - 它得到一个 nil!
怎么可能?我无法追踪问题是什么或影响了它。
在我重试作业后它成功了。 - 但是它是AFTER_CREATE所以模型应该已经提交给数据库了。
感谢您的帮助!
此问题已在 FAQ wiki page 中得到解答。使用 after_commit.
我的项目由一台有发条的机器组成,它在数据库中创建新模型。
我还在模型 after_create 中使用 perform_async 创建了一个 sidekiq 任务。
我的问题是: 偶尔,当 sidekiq 作业启动时,它会查询生成它的模型(如果模型 X 创建了一个带有参数 - X 的 sidekiq 作业,sidekiq 作业查询带有 id X 的模型) - 它得到一个 nil!
怎么可能?我无法追踪问题是什么或影响了它。
在我重试作业后它成功了。 - 但是它是AFTER_CREATE所以模型应该已经提交给数据库了。
感谢您的帮助!
此问题已在 FAQ wiki page 中得到解答。使用 after_commit.