【发布时间】:2018-04-14 12:08:20
【问题描述】:
我正在开发一个 scraper,它会遍历网站并在 Sidekiq 工作人员中解析其中的特定部分。想象一下,当 scraper 访问一个包含 10 个我感兴趣的元素并且每个元素都在 Sidekiq 中排队的网站时。目前,我将元素的源代码作为参数传递,稍后在 Nokogiri 中加载。我的问题是 - 将一个巨大的字符串作为参数传递给 Sidekiq 工作人员是一个好主意吗?字符串长度始终在 77,000-80,000 个字符之间,因此非常庞大。或者我应该将它存储在一个临时表中并在 Nokogiri 加载之前找到特定的记录?
【问题讨论】:
-
您为什么不尝试测试每种方法的性能?
-
Best Practices 说“让你的工作参数小而简单”。
-
为什么需要存储大字符串?工人不能在运行时提取该数据吗?即进行 api 调用,解析所需内容并完成其目的?
标签: ruby-on-rails ruby nokogiri sidekiq