为什么获取记录的速度太慢?

时间:2015-06-27 18:48:41

标签: ruby-on-rails ruby-on-rails-3 youtube youtube-api

我使用名为'yourub'的gem来获取由特定关键字缩小的多个视频的信息。

我的代码就像这样,它工作得很好但速度太慢,直到结果开始显示在页面上 是因为我使用了宝石吗?如果我使用本地方式使用" google-api-client"那么它会变得更快吗?宝石?如果是这样,我该如何更换原件?

P.S。根据' yourub'的文档,它最多只能获取50个视频:( 它甚至无法选择用分页选择显示结果的哪一页:(

我的代码(查看)

<% client = Yourub::Client.new %>

<% client.search(query: "cat", order: "date", max_results: 30) do |video| %>

Video ID:<%= video["id"] %> <br />
Title: <%= video["snippet"]["title"] %><br />
<img src="<%= video["snippet"]["thumbnails"]["high"]["url"] %>" with="480" height="360"><br />
----------------------------------------------------------------------------------------------<br />
  <br />
<% end %>

1 个答案:

答案 0 :(得分:2)

您可以尝试使用YouTube的原生API,并查看搜索查询通过该查询返回的时长。如果它快速点亮,那么这个宝石可能会导致延迟。

考虑使用bullet gem(https://github.com/flyerhzm/bullet)和mini profiler(https://github.com/jaigouk/miniprofiler)来获取有关应用程序中发生的事情的更多数据。寻找其他速度评估宝石,看看可能有用的东西。

最后,这纯粹是一种神奇的感知技巧,考虑发出一个愚蠢的“获取你的结果......”这种加载指标。如果他们没有看到任何变化,那么人们会认为你的过程需要更长的时间。但是,如果您说“获取......”,“编译......”,“呈现......”,则没有人会对延迟表示眨眼:)