使用Sidekiq

时间:2015-11-04 05:37:09

标签: ruby-on-rails-4 sidekiq invalid-argument

我使用Ruby on Rails开发了一个应用程序,它使用Sidekiq并行运行查询。 用户可以:

  • 提交查询(也是模型),每个查询都可以有一个或 更多实体。队列由Sidekiq处理。

  • 创建实体,并调用执行计算的函数 直接(当你有100个实体时这不太实用)。

CalculationJob是我为处理每个实体的caclulations而创建的模型。完成计算后,将生成CalculationResults并将其保存在数据库中。每个实体都有__ calculationResults

当我使用任一方法只处理一个实体时,计算正确完成。但是,当我提交一个或多个由Sidekiq处理的查询时,  我遇到两个问题

a)有时候,实体的验证失败了。我会得到像这样的错误消息:

作业参数错误

CalculationJob *** / Entity / 123:ActiveRecord :: RecordInvalid:验证失败:名称不能为空,名称无效

令人惊讶的是,如果我使用控制台找到实体(通过前面提到的id),我发现一个是使用正确的属性创建的

b)有时某些特定实体的计算是错误的。如果删除保存的计算结果并再次从控制台再次尝试,我会得到正确的结果。

有没有人遇到过这种问题?这可能是什么问题?

谢谢

提前谢谢你,

的Yannick

0 个答案:

没有答案