169 похожих чатов

Обращаюсь к опытным по GAS. По моим анализам CacheService полезно использовать

до 10 000 строк и когда в Гугл таблице много листов/формул и надо получить один кэш (лист).
Можете подсказать как можно ускорить чтение и запись Гугл таблицы с ориентиром на таблицу 50 000 строк и 10 столбцов (без лимитов и квот)?
Практические советы.

27 ответов

10 просмотров

SheetsAPI.Spreadsheets.Values.update( { values: data }, ssId , '${sheetName}'!+range.getA1Notation(), { valueInputOption: 'USER_ENTERED' }) на объемах от 40тыс строк работает быстрее примерно на 20% чем setValues(), но есть особенности при записи значений null, дат и при выходе за границы тек.листа.

𝙺𝚒𝚛𝚒𝚕𝚕 𝙽𝚊𝚜 Nas
SheetsAPI.Spreadsheets.Values.update( { ...

Спасибо. К сожалению, есть квоты и лимиты.

Севак Спартакович Арутюнян
Спасибо. К сожалению, есть квоты и лимиты.

А что, есть выход за квоты по апи? В таком случае стоит искать способ получать не все данные, а только нужную часть.

Dmitriy
А что, есть выход за квоты по апи? В таком случае ...

Как фильтровать данные до получения?

Севак Спартакович Арутюнян
Как фильтровать данные до получения?

Можно доп лист для фильтрации на основании формулы Filter параметры и операторы фильтра в ячейках Первым запросом передаём параметры фильтра Flush Забираем значения

Севак Спартакович Арутюнян
Спасибо. К сожалению, есть квоты и лимиты.

Очень сомнительны запросы превышающие данные квоты. В каком случае нужно больше 300 запросов в минуту?

volond
Можно доп лист для фильтрации на основании формулы...

Создать отдельный лист и данные пропустить через FILTER. Как я понимаю, скрипт больше времени тратит на получение таблицы (книги) - открытие с пересчётом, а чтение данных из листа не так сильно влияет на скорость. Количество строк влияет на открытие книги (получить таблицу - книгу с пересчётом). Если добавить ещё лист + функцию массива, то можно уменьшить скорость. Поправьте, если я не прав.

Роман Игнатов
Очень сомнительны запросы превышающие данные квоты...

300 или 60 для пользователя от имени которого развернут скрипт?

Dmitriy
А что, есть выход за квоты по апи? В таком случае ...

6 минут на работу скрипта обхожу, но стараюсь этого не делать

Севак Спартакович Арутюнян
300 или 60 для пользователя от имени которого разв...

В минуту? Честно выходите? 1 запрос в секунду? Да ладно.)

Роман Игнатов
В минуту? Честно выходите? 1 запрос в секунду? Да ...

Конечно если распределить - нет, а если в секунду получу несколько запросов? И остальные 59 секунд не получу ничего. Условно. Например: Сделал рекламу и ожидаю наплыв пользователей.

Севак Спартакович Арутюнян
Конечно если распределить - нет, а если в секунду ...

Что-то путаете. На минуту квота не выставится. Ответит 429 ошибкой, потребует сбавить обороты, но на минуту никто никого блочить не станет. Такое может наступить если параллельно запустите запросы, для этого нужно быть чуть чокнутым, рассчитывая на то что SpreadsheetApp не станет замедлять работу скрипта. У него скорее всего под капотом такое же ограничение на количество одновременных запросов. В примере своём вы показали что работаете в gas. Условно - добраться до квоты в gas у вас не получится.

Роман Игнатов
Что-то путаете. На минуту квота не выставится. Отв...

У меня получалось делать асинхронные запросы к сторонним API , т.е. время на работу пакета запросов, равнялось времени самого долгого скрипта, а не сумме. Почему бы, в данном случае, не сделать несколько запросов к разным диапазонам одной таблицы асинхронно? Но в таблице желательно предусмотреть уникальный ключ, чтобы собирая данные исключить дубли, подстраховаться. )

Alexⁿ
У меня получалось делать асинхронные запросы к сто...

В таком случае предусмотрел и предугадал что даже ассинхронные запросы могут выпасть с ошибкой 429 и что сделаешь паузу (не в 1 минуту) и повторишь запрос.)

Роман Игнатов
В таком случае предусмотрел и предугадал что даже ...

Здесь надо уже смотреть задачу детальнее, может быть поменять что-то в архитектуре. Насколько актуально получать сразу все данные сразу, а ен частями с задержкой.

Роман Игнатов
Что-то путаете. На минуту квота не выставится. Отв...

Вот это уже интересно 👇 "На минуту квота не выставится." Правильно ли понимаю, что 60 можно израсходовать за секунду?

Роман Игнатов
Что-то путаете. На минуту квота не выставится. Отв...

Или Вы хотели сказать, что можно параллельно обработать запросы при пиковой нагрузке: - часть через Sheets API; - часть через SpreadsheetApp; - часть через кэш. Если да, отличная идея.

Плохая идея. Что такое данные из кеша и как они связаны с тем что данные нужны из таблицы?

Роман Игнатов
Плохая идея. Что такое данные из кеша и как они св...

Задача справится с пиковой нагрузкой и максимально ускорить работу (чтение и запись данных, иногда несколько листов) с ориентиром на 50 000 строк и 10 столбцов (50 000 не на всех листах).

Севак Спартакович Арутюнян
Задача справится с пиковой нагрузкой и максимально...

Если речь начинает идти про нагрузки, да еще и пиковые, то вам надо смотреть в сторону своего сервера. )

Роман Игнатов
Это не ответ на вопрос про кеш.)

В кеше данные из листа целиком.

А какая _практическая_ задача требует регулярную перезапись 500тыс ячеек?

Севак Спартакович Арутюнян
Спасибо. К сожалению, есть квоты и лимиты.

гуглец делает сервисы не для того что бы осчастливить человечество, а что бы зарабатывать)) А квоты преодолеваются. - разнесением функционала на разные аки. - время исполнения функций - фраментируется. - тригеры делаются диспачером - функционал переносится на внешнее исполнение - уменьшаются оплатой ака ...

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
22
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта