我有一个名为Order的模型,创建一个Order需要花费很多时间,因此当用户执行POST时我想获取这些参数并使用后台作业处理它们。
我正在使用Sidekiq,我想知道传递给perform(..)动作最好的是什么,传递参数的.to_json
表示,或者只是ActionController :: Parameters类型?< / p>
这有关系吗?知道请求中传递的参数可以有超过10,000个条目。
答案 0 :(得分:0)
perform_async
的所有给定参数将被序列化为JSON。有效负载的大小只会影响使用的内存占用量和redis的往返时间。不应该对10K项目有任何其他问题(除非您在将这么长的字符串直接插入redis时遇到问题)。
在内部,它接受参数并将它们转储到json(https://github.com/mperham/sidekiq/blob/75808b59b8075b2566b448802afcfb9a869e3644/lib/sidekiq/client.rb#L188)