【问题标题】:YQL Problem - "The current table has been blocked"YQL 问题 - “当前表已被阻止”
【发布时间】:2011-01-23 17:48:06
【问题描述】:

我是 YQL 的新手,在检索数据时遇到了一些问题。我要执行的查询是:

select * from yahoo.finance.historicaldata where symbol = "TW.L" and startDate = "01/01/2011" and endDate = "22/01/2011"

我确实设法通过 YQL 控制台使用这样的查询来检索一些信息,没有问题。现在,每当我尝试时,我都会返回一些包含消息的 XML:

当前表 'yahoo.finance.historicaldata' 有 被阻止。它超过了分配的 时间或指令的配额

我认为这是某种速率限制,但我很确定我离作为限制引用的每小时 1,000 个请求还差得很远。此外,我收到的是 HTTP 响应 200,而不是 999(这显然是您在受到速率限制时返回的状态)。

谁能告诉我为什么我会收到这条消息,我应该怎么做,以及如何阻止它再次发生!?

谢谢, - 克里斯

【问题讨论】:

  • 今天,在这个问题被问到一年后,我遇到了同样的问题 - 你找到解释了吗?

标签: yql


【解决方案1】:

我认为此消息与您的速率限制无关,而是此表的全局阻止,例如当我尝试访问此表时,我收到相同的错误消息。因此,我宁愿假设其他人对该表的查询过于广泛,从而导致该表被阻止,就像错误消息所表明的那样。

该表的内部显示它正在向托管在http://ichart.finance.yahoo.com/table.csv 的 CSV 发送两个查询。您可以在此处自行检查内部结构,以查看该表的 javascript 部分做了什么:https://github.com/spier/yql-tables/blob/master/yahoo/finance/yahoo.finance.historicaldata.xml

我知道这并不能解决您使用 YQL 表的问题,但如果您仍然遇到此表的问题,那么您可能应该直接查询 CSV 文件,而不是通过 YQL 表。

如果您仍然想知道该 YQL 表的问题是什么,那么您可以直接在 Yahoo 的 YQL 论坛中发布您的问题:http://developer.yahoo.net/forum/?showforum=41&cookiecheckonly=1

如果您还需要了解其他信息,也请在此处发布。谢谢。

【讨论】:

    【解决方案2】:

    我认为这里可能有两个相关的问题:指令太多,运行太频繁。

    当我在 [YQL 控制台][yql] 中运行您的查询时,我看到了部分响应:

    <javascript execution-time="6783" instructions-used="50024350" table-name="yahoo.finance.historicaldata"/>
    <javascript name="yahoo.finance.historicaldata" verb="select">
    <![CDATA[java.lang.RuntimeException: Too many instructions executed: 50024350]]>
    </javascript>

    您可以看到问题是“执行的指令过多”。

    查看该表的示例查询,该表的开始和结束日期似乎使用 yyyy-mm-dd 格式。因此,您的查询可以重写为:

    select * from yahoo.finance.historicaldata where 
      symbol = "TW.L" and 
      startDate = "2011-01-01" and 
      endDate = "2011-01-22"

    这个更新的查询为我工作了几次,但现在我得到了表被阻止的进一步错误:

    <javascript name="yahoo.finance.historicaldata" verb="select">
    <![CDATA[com.yahoo.platforms.pipes.model.ModuleException: Error Codes: 
    js.blocked.execute.request Message: "The current table 'yahoo.finance.historicaldata' 
    has been blocked. It exceeded the allotted quotas of either time or instructions"]]>
    </javascript>

    有可能一个导致另一个;换句话说,格式错误的请求导致运行太多指令,导致表被阻塞。

    【讨论】:

      【解决方案3】:

      现在好像又回来了,几个小时前我也收到了控制台的错误,但重新加载控制台后,一切似乎都很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-25
        • 2021-10-27
        • 1970-01-01
        • 2022-01-01
        • 2019-11-01
        • 2020-11-23
        • 2023-01-14
        • 2019-12-12
        相关资源
        最近更新 更多