YQL Problem - "Current table is locked"

I am new to YQL and am having trouble getting data. The query I'm trying to execute is as follows:

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

I managed to get some information using such a query through the YQL Console without any problems. Now whenever I try, I get back the part of XML that includes the message:

The current table "yahoo.finance.historicaldata" has been locked. He has exceeded allotted time quotas or instructions

I assume this is some kind of speed limit, but I'm sure that I’m not getting anywhere near 1000 requests per hour, indicated as a limit. In addition, I get an HTTP 200 response, not 999 (which, apparently, is the status that you return when you are limited in speed).

Can someone tell me why I get this message, what should I do, and how can I stop it again?

Thank you, Chris

+4
source share
3 answers

I think this message has nothing to do with the speed limit on your side, but rather the global locking of this table, for example. I get the same error message when I try to access this table. Therefore, I rather assume that someone else requested this table too widely, which, in turn, led to the locking of this table, as well as the error message.

The inside of this table shows that it sends two requests to the CSV, located at http://ichart.finance.yahoo.com/table.csv . You can check the internal details yourself to see what has been done in the javascript part of this table: https://github.com/spier/yql-tables/blob/master/yahoo/finance/yahoo.finance.historicaldata.xml

I know this does not solve your problem using the YQL table, but if you have problems with this table, you just need to request the CSV file directly and not go through the YQL table.

If you still want to know what the problem is with this YQL table, you can post your question directly on the YQL forum in Yahoo: http://developer.yahoo.net/forum/?showforum=41&cookiecheckonly=1

Please write here if you find out anything else about this. thanks.

+6
source

I think that there may be two related problems: too many instructions and too often executed.

When I run your query in the console [YQL] [yql], I see the answer partially:

 <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> 

You can see that the problem is "too many instructions completed."

Looking at the query example for this table, it looks like the start and end dates for this table use the format yyyy-mm-dd. Thus, your request can be rewritten as:

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

This updated query worked for me a couple of times, but now I get an additional error on the locked table:

 <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> 

It is possible that one leads to another; in other words, a garbled query causes so many commands to run that it causes the table to lock.

+2
source

it seems to be back, I received an error message from the console a few hours ago, but after rebooting the console everything looks good.

0
source

Source: https://habr.com/ru/post/1336696/


All Articles