Query limits for day reached - gracenote

I have been testing an application I am developing using the webapi, and I have started to get the following error message:
GCSP: Hello error: [1010] The Gracenote ODP 15822 [Name: *registered-name*]
[App: *registered-app*] application has reached is daily lookup limit with
Gracenote. You may try again tomorrow or may contact Gracenote support at
support#gracenote.com.
[Gracenote Error: <ERR>]
The application I am developing is looking up track details and cover artwork for songs being streamed from Mood/Pandora for Business service. It is making approximately one call for each song, so something like 15 searches per hour on average. I may have done more during testing, but not a lot more.
Once completed, I would expect this service to make fewer than 500 searches per day per location, and for it initially to be used at 4 locations.
What are the lookup limits I am running into?
What are my options to get a higher lookup limit?
Thanks

Related

All new calls to cloud translation service are ending in quota error

Yesterday, about 1500 PST, my connection to the translation API began emitting errors about exceeding:
Error 8: RESOURCE EXHAUSTED: Quota Error
Quota exceeded for quota metric ‘v2 and v3 general model characters’ and limit ‘v2 and v3 general model characters per day’.
I have googled online, and found this can happen, and that it resets at 0000 hours PST. This time has come and gone, and second day now, the same Error 8 is arriving when attempting to access the service.
I have also signed in to my console, and looked at my quotas. None of them are over-quota, or have they been in the last 7 days. (I’m no where near the limits)
I had a spike (bug) where the code got into a bad state and spammed the API retrying the request, and I’ve found an fixed this issue. This was yesterday, so I don’t know why it’s still giving errors.
OK so I found the answer. My credit card had expired, and the billing was overdue. Unfortunately this is not obvious in any of the errors, or many of the pages the google search results point to (check quotas etc)…hopefully this helps someone else who searches.

Google Calendar API - Deeper insight into calendar usage limits exceeded errors

I have an application that's been running since 2015. It both reads and writes to approx 16 calendars via a service account, using the Google node.js library (calendar v3 API). We also have G Suite for Education.
The general process is:
Every 30 seconds it caches all calendar data via a list operation
Periodically a student will request an appointment "slot", it first checks to see if the slot is still open (via a list call) then an insert.
That's all it does. It's been running fine until the past few days, where API insert calls started failing:
{
"code": 403,
"errors": [{
"domain": "usageLimits",
"reason": "quotaExceeded",
"message": "Calendar usage limits exceeded."
}]
}
This isn't all that special - the documentation has three "solutions":
Read more on the Calendar usage limits in the G Suite Administrator
help.
If one user is making a lot of requests on behalf of many users
of a G Suite domain, consider using a Service Account with authority
delegation (setting the quotaUser parameter).
Use exponential backoff.
I'm not exceeding any of the stated limits as far as I can tell.
While I'm using a service account, it isn't making a request on behalf of a user. The service account has write access to the calendar and adds the user as an attendee
Finally, I do not think exponential backoff will help, although I do not have this implemented. The time between a request to insert and the next insert call is measured in seconds, not milliseconds. Additionally, just running calls directly on the command line with a simple script produce the same problem.
Some stats:
2015 - 2,466 inserts, 186 errors
2016 - 25,747 inserts, 237 errors
2017 - 42,815 inserts, 225 errors
2018 - 41,390 inserts, 1,074 errors (990 of which are in the past 3 days)
I have updated the code over the years, but it has remained largely untouched this term.
At this point I'm unsure what to do - there is no channel to reach Google, and while I have not implemented a backoff strategy, the way timings work with this application, subsequent calls are delayed by seconds, and processed in a queue that sequentially processes requests. The only concurrent requests would be list operations.

"Bing Error - Out of call volume quota" on first use

I am trying to use Blockspring in Excel (and Google Sheets) to access Bing Web Search to return URLs based upon a list of company names (method is described here: https://www.youtube.com/watch?v=35U-FKAlaPY). I am receiving this: "#ERROR! Bing Error - Out of call volume quota. Quota will be replenished in 15.01:52:46", even though my Microsoft Cognitive Services account shows zero of 1,000 calls used before 1/7/17. Note that this is a free trial subscription (if that matters). Any ideas would be appreciated.

503 Over Quota Every morning

Every morning between 8 and 9 am CET my site shows this error:
Error Over Quota
This application is temporarily over its serving quota. Please try again later.
although billing is enabled and the site has been running for many months now. On the old billing status page, there's a setting for Maximum Daily Budget (Set this to handle peak traffic and to buffer against sudden traffic surges.) which is set to $0.00, but even if I change that to e.g. $10.00, it still shows the 503 error, so it seems this has nothing to do with it.
The new billing page looks like this:
It happens every morning between 7 and 8 am CET, so that would be around midnight PST which would at least indicate that it still might have something to do with billing?
Here's how the external monitoring system shows the outages, i.e. multiple outages every morning and then no problems for the rest of the day.
The Google Developers Console Overview page Errors by status code also shows the 503 error in green.
If I look at the monitoring logs most of the 503 errors between 7 and 9am for the following pages:
/
/wp-cron.php
And then there are some 500 errors, e.g. at 8 am
08:07:08.092 ... [26/Nov/2014:23:07:08 -0800] "GET / HTTP/1.1" 500 0 - "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)" "www.coworking-radolfzell.de" ms=921 cpu_ms=1042 loading_request=1 exit_code=108 instance=00c61b117c9ad93b9da1f63314065ff8f4188095 app_engine_release=1.9.16
08:07:08.092 This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
08:07:08.092 Process terminated due to exceeding quotas.
The (new) quota details page says Quotas are reset every 24 hours. Next reset: 1 hours and now it's 8:30 am CET. All of the listed resources are rated Okay.
If I go to the old Quota Detailsp page, though, I see that my requests' Frontend Instance Hourshave reached 100% and are rated Limited.
So I went back to the new console under Compute / App Engine / Settings which showed Your budget today is $10.00. Effective tomorrow, you will be using only free quota. which I now increased to a daily budget of USD 5.
My site now still shows the 503 error, but hopefully this will be the solution. I should be able to tell in 24 hours, shouldn't I?
If anyone from Google App Engine is reading this, there might be some inconsistencies between the old and new panels that should probably be fixed.
My problem has been solved by increasing the daily budget vom 0 to 5, although it took a couple of hours to take effect. We haven't had any notifications from the monitoring system, so it seems to be all fine now.

How the Connection is calculated in Firebase

How are the connections are being calculated?
Let's assume that I have a web app which one load sends a message to all connected clients, and let's say I have 5 connected clients. Does it means that as long as the browser tab with the web app is open it will count as 1 connections, which means that I will have 6 concurrent connections and that's count towards what you define as "Connection" in the pricing page?
If not, please explain how you calculate the "Connection". Thanks
This question was bugging me ever since I ran through the thinkster.io angular+firebase tutorial and I saw my firebase analytics tab showing a peak concurrent of 6 even though I only remember having the one page open. I looked back at the code and thought it could be to do with how the tutorial has you create a new Firebase(url) for each location in your firebase.
I wanted to test the difference between creating a new Firebase(url) vs taking the root reference and then accessing the .child() location. My theory was that new Firebase(url) would create a new connection each time, while .child() would re-use the existing connection.
Setup
Created two new firebases each with identical data
Setup an angularjs project using yeoman
Included angularfire
Code
For simplicity, I just put everything in the main controller of the generated code.
To test out the connections created with new Firebase() I did the following:
$scope.fb_root = $firebase(new Firebase(FBURL_NEW));
$scope.fb_root_apps = $firebase(new Firebase(FBURL_NEW + '/apps'));
$scope.fb_root_someApp = $firebase(new Firebase(FBURL_NEW + '/apps/someApp'));
$scope.fb_root_users = $firebase(new Firebase(FBURL_NEW + '/users'));
$scope.fb_root_mike = $firebase(new Firebase(FBURL_NEW + '/users/mike'));
To test out the connections created with ref.$child() I did the following:
$scope.fb_child = $firebase(new Firebase(FBURL_CHILD));
$scope.fb_child_apps = $scope.fb_child.$child("apps");
$scope.fb_child_someApp = $scope.fb_child_apps.$child("someApp");
$scope.fb_child_users = $scope.fb_child.$child("users");
$scope.fb_child_mike = $scope.fb_child_users.$child("mike");
I then bound these objects in my view so I can see them, and I played around with updating data via my firebase forge and watching the data update live on my app.
Results
I opened up my local app into 17 browser tabs, hoping that a large number of tabs would exaggerate any differences between the connection methods.
What I found is that each tab only opened up one single web socket connection back to firebase for each firebase db. So at the end of the test, both methods resulted in the same peak count of 17 connections.
Conclusion
From this simple test I think it's safe to say that the Firebase JS library does a good job of managing its connection.
Regardless of your code calling new Firebase() a bunch of times, or by referencing child locations via .child(), the library will only create a single connection as far as your metering is concerned. That connection will stay online for as long as your app is open.
So in your example - yes I believe you will see 6 concurrent connections, 1 for the app where someone is sending the message, and 5 for the apps receiving the message.
Update
One other thing worth mentioning is that Firebase measures connections for paid plans based on the 95th percentile of usage during the month. This is listed in the FAQ section of their Pricing page # https://www.firebase.com/pricing.html
Update 11-Mar-16: Firebase no longer appears to measure connections based on 95th %. Instead, the 101st concurrent connection is denied.
https://www.firebase.com/pricing.html :
All our plans have a hard limit on the number of database connections.
Our Free and Spark plans are limited to 100. The limit cannot be
raised. All other plans have a courtesy limit of 10,000 database
connections. This can be removed to permanently allow Unlimited
connections if you email us at firebase-support#google.com.. The
reason we impose this courtesy limit is to prevent abuse and to ensure
that we are prepared to handle our largest customers. Please contact
us at least 24 hours in advance so we can lift this limit and ensure
we have enough capacity available for your needs.

Resources