We have a very complex core banking system using MongoDB and Google Sheets, and we are hitting the Google Apps Script quota limits and getting timeouts daily. We are looking at optimizing where we can, but I need to know if there is a way that I can increase the limits somehow in the meantime (don't mind paying more).
I have looked at the Early Access Program, but it says that they aren't taking any more new members.
Any ways that I can increase the limits?
Yes, you can
If you have a look at the Apps Script Quota information, you will see that the limits depend on the type of account you have.
If you have a free account, it means that most likely it is a Customer Account.
You can upgrade to either G Suite Basic, G Suite Business or G Suite Enterprise - depending on how much you need to increase your quota and how much you are willing to pay.
See here for more information about different accounts and pricing.
Related
I have got a script that I need to run periodically (preferably once every half hour). I have made an hourly trigger, but I'm not sure of the limitations on how many times this can be run in a day without hitting the quota for my standard Gmail account.
I have found the "Quotas for Google Services" page, however, I'm not sure what category it falls under and therefore how many triggers I can have daily.
Regarding the use of triggers, from https://developers.google.com/apps-script/guides/services/quotas
Feature
Consumer (e.g., gmail.com) and G Suite free edition (legacy)
Google Workspace accounts
Triggers total runtime
90 min / day
6 hr / day
Please bear in mind that other quotas might apply too.
I'm launching a Google Web App (within the Google Workspace of a company), and I would like to know if it has a maximum capacity of simultaneous users and if so, I would like to know the max capacity number.
I searched on Google Workspace page, Google for Business page, developers.google.com, and Google Search but I couldn't find anything except this article. The first response says the limit is 30 simultaneous users, but the other response says that with Google for Business you can increase it. Also, this article is two years old, so maybe things have changed.
If the maximum capacity is lower than 50 simultaneous users, I would like to know if someone has a way to increase it, or make a workaround. And if this isn't possible I would like to know if there is an alternative to overcome it.
From already thank you for your time and dedication!!
The maximum simultaneous connections per user is 30. The same limit applies to Google Workspace users.
https://developers.google.com/apps-script/guides/services/quotas#current_limitations
Because this is calculated on a per user basis, it depends how you've deployed it. If it's running as the user accessing the app, this limit shouldn't pose problems. If it's running as you (the person deploying the app), you'll start to see errors when more than 30 people are concurrently accessing it.
Apparently google now require you to give them billing details for using there google maps on your web site. If I understand it correctly you get $200 free allowance and after that they start charging you.
Is there a way to say to google, don’t charge me after the free $200 and just stop displaying the map?
There is no way to do that.
The only 2 things available now is to:
Based on your monthly usage, calculate approximately your daily usage (per API) and set daily limits. You can do so by going to the API Console, select an API, navigate to the Quotas tab, and edit the daily or per-second quotas. You can use this Calculator.
Set billing budgets and alarms.
To control your spend, you can set billing budgets and alarms so that you are notified when your usage reaches a given budget. Here’s how.
Be noticed that these alarms are only "an alarm based on a budget", they won't stop the usage from your project.
I asked about this in the Cloud support, and they told me this:
You can use Programmatic Budget Notifications in order to perform
custom actions when reaching spend thresholds. For instance, you can
disable billing on your project when reaching the free tier limit.
https://cloud.google.com/billing/docs/how-to/notify
Note this will disable the billing completely and can even cause your Cloud projects to be deleted!
See the warning:
This example removes billing from your project, shutting down all resources. Resources might not shut down gracefully, and might be irretrievably deleted. There is no graceful recovery if you disable billing. You can re-enable billing, but there is no guarantee of service recovery and manual configuration is required.
Some things may be outside your control. Google support has confirmed to me that their own bot hits count towards billable maps API usage. So they decide the level of spidering, and then charge for it.
I believe this is called the "Fish in a Barrel" business model
I've been accessing the Google Cloud Vision API from a script in a Google Sheet using UrlFetch and the REST API.
Until I got "UrlFetch failed because too much upload bandwidth was used" I didn't even know there was a quota on UrlFetch!
Is the a way to access Google Cloud APIs from a Google Apps Script so I can dodge the quota?
Quotas protect the users of Google services by preventing unforeseen spikes in usage, on the benefit of both the user (who might get unexpected bills if the quota is related to a payed resource) and the community (who will have more resourcesa available, as they will not be monopolized by users that are making an excesive use of them).
That is the reason why quotas cannot be exceeded, although depending on the service (and specific quota) you are using, you may be able to request a quota increase by following the documented procedure or contacting the support team of the product in use.
Finally, in order to identify which is the quota that you are currently hitting, refer to this documentation page where you will be able to find the quotas for URL Fetch, which as of February 2018 are:
As a side note, you have to take into account that these quotas are refreshed at the end of a 24-hour window, so your quota will be resetted to 0 every day. Moreover, this is also on a per-user basis, so you can work around this limitation by spreading your URLFetch usage across several users and days, if that is something that you can manage.
In our company we use Google spreadsheets heavily. I would like to automate some things, for instance every minute I would like to call our bank's API and save all the new transactions into a spreadsheet.
What I'm missing in the official documentation is some major architecture best practices.
First part of the question: Who should be the owner/runner of such user-neutral company-wide script? I would not like to bind it to my personal account. I want it to run seamlessly even after I leave the company some day. Is some artificial technical user needed?
If it makes any difference we plan on moving to team drives in future.
Second part of the question: I would like the scripts to have persistent storages (in the example above - for the record of transactions). I'm considering to be a rule that every script is bound to a spreadsheet which acts as its data store. Is it a good idea?
I generally recommend that clients provide me with an "artificial technical user", as you say, to keep that owner alive and away from my personal account. Which also avoids using up my daily quota especially for regular triggers.
I'd avoid binding the scripts to a GSheet as you'll then get issues with potentially using GitHub or creating add-ons in the future. I generally make all scripts in a separate library (Bruce McPherson did various tests and never found a performance hit) and then link them with a very small script to a script contained in a GSheet if needs be. This allow eases separate development whilst the script is being used live.
GSheets do provide a fair amount of storage (2 million cells) but if you reach that - and the sheets do tend to slow down - take a look at using Firebase for which you get 1GB free and there is a great Firebase library.
There are various general recommendations for Apps Script development. I link a few here.
Happy scripting!