Sidekiq将POST创建参数排入队列。使用JSON或ActionController :: Parameters?

时间:2014-07-10 17:30:06

标签: ruby-on-rails json performance redis sidekiq

我有一个名为Order的模型,创建一个Order需要花费很多时间,因此当用户执行POST时我想获取这些参数并使用后台作业处理它们。

我正在使用Sidekiq,我想知道传递给perform(..)动作最好的是什么,传递参数的.to_json表示,或者只是ActionController :: Parameters类型?< / p>

这有关系吗?知道请求中传递的参数可以有超过10,000个条目。

1 个答案:

答案 0 :(得分:0)

perform_async的所有给定参数将被序列化为JSON。有效负载的大小只会影响使用的内存占用量和redis的往返时间。不应该对10K项目有任何其他问题(除非您在将这么长的字符串直接插入redis时遇到问题)。

在内部,它接受参数并将它们转储到json(https://github.com/mperham/sidekiq/blob/75808b59b8075b2566b448802afcfb9a869e3644/lib/sidekiq/client.rb#L188