Я сейчас выполняю некоторый код асинхронно, я устанавливаю любую функцию extract_list_of_domains_to_ignore
, возвращающую глобальную переменную, в этом случае я даже не использую глобальную переменную, но, как я понимаю, эта функция должна запускаться только один раз. Однако, когда я запускаю оставшуюся часть сценария, я получаю сообщение об ошибке Read requests per user per 100 seconds
, но, насколько я понимаю, я запрашиваю его только один раз. Почему я получаю эту ошибку?
def extract_list_of_domains_to_ignore():
"""
This function returns a list of strings from a google sheet
"""
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name(
r'path\to\file.json', scope)
client = gspread.authorize(creds)
a_list_of_urls = []
sheet = client.open("My Google Sheet").sheet1
all_records = sheet.get_all_records()
for record in all_records:
a_list_of_urls.append(record['URL'])
urls = list(set(blacklisted_domains))
return urls
LIST_OF_DOMAINS_TO_IGNORE = extract_list_of_domains_to_ignore()
def parse(url):
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'lxml')
MongoDBCollection.insert_one(soup)
def gen_func():
for document in otherMongoDBCollection:
yield document['URL']
def main():
pool = Pool(64)
pool.map(parse, gen_func())
pool.terminate()
pool.join()
if __name__ == "__main__": # Required logic expression
main()
gspread.exceptions.APIError: {
"error": {
"code": 429,
"message": "Quota exceeded for quota group 'ReadGroup' and limit 'Read requests per user per 100 seconds' of service 'sheets.googleapis.com' for consumer 'project_number:891386161466'.",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developer console API key",
"url": "https://console.developers.google.com/project/anumber/apiui/credential"