2 Ограничения и квоты
valalav edited this page 2026-11-09 21:05:22 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Ограничения и квоты

Что нужно знать заранее, чтобы сессия не прошла сюрпризом.

Ограничения по числу ответов

Ограничение Значение Почему
Вариантов ответа ровно 7 Скрипт читает лист «Кодирование» в диапазоне A2:C8
Опросов на экране ровно 2 Два листа ответов: «Ответы 1» и «Ответы»
Вопросов на опрос 1 В контракте запроса одно поле ответа (inflation)
Одновременная запись 1 ответ, очередь до 20 секунд Блокировка LockService

Ограничения по времени

Параметр Значение
Ответ участника → строка в таблице 1–2 секунды
Строка в таблице → изменение на экране до 15 секунд
Повторная попытка экрана после «Нет связи» 30 секунд
Часовой пояс на экране и в таблице Europe/Moscow

Квоты Google Apps Script

Источник: официальная таблица квот Google (https://developers.google.com/apps-script/guides/services/quotas).

Ресурс Лимит (Consumer / Workspace) Применимость к ks-live-survey
Время одного вызова (Script runtime) 6 минут / вызов Запись одного ответа или вызов getLiveStats занимает меньше секунды
Одновременных запусков (Simultaneous executions per user) 30 При пиковой отправке ответов параллельные doPost выстраиваются в очередь LockService.waitLock(20000)
Суммарное время триггеров (Triggers total runtime) 90 мин/сутки (Consumer) / 6 ч/сутки (Workspace) Применяется к триггерам; открытый экран опрашивает getLiveStats 4 раза в минуту
Исходящие запросы URL Fetch calls 20 000 / сутки (Consumer) Скрипт не вызывает UrlFetchApp.fetch(), поэтому данный лимит на входящие doPost и google.script.run не расходуется

Важно: открытый экран обращается к скрипту каждые 15 секунд, даже когда никто не голосует, — 4 обращения в минуту (около 5 760 за сутки). Держите экран открытым только во время мероприятия.

Что может пойти не так и как это выглядит

Риск Как проявляется Защита
Ошибка доставки ответа из Яндекс Форм (автоматический повтор документацией сервиса не гарантируется) Ответ участника не попал в статистику Проверить Интеграция → API → История; на крупной сессии — продублировать опрос поднятием руки
Скрипт недоступен в момент пика Часть ответов с кодом 5xx Ответы приходят по одному под блокировкой; попросите зал не нажимать «Отправить» одновременно
Квота дня исчерпана Экран пишет «Нет связи», новые ответы не записываются Не держать экран открытым сутками; при необходимости — платный Workspace или второй аккаунт
Ссылку на экран увидели посторонние Посторонние могут проголосовать, если знают ссылку на форму Не публиковать ссылки в открытых каналах; при необходимости — сменить секрет и ссылку формы
Тексты вариантов в форме разошлись с листом «Кодирование» Строка «Есть некорректные строки: они исключены из расчёта» Синхронизировать тексты; скрипт прощает тире, слово «процент», «менее/более», но не другие формулировки

Чего инструмент не делает

  • Не измеряет изменение мнения конкретного участника: сравниваются две группы ответов.
  • Не фильтрует ответы по категориям на экране (категория сохраняется в таблицу).
  • Не показывает ответы поштучно во время сессии — только агрегаты.
  • Не работает без доступа к Google и Яндекс Формам.
  • Не рисует график мгновенно: интервал обновления — 15 секунд.

Если аудитория больше 200 человек

Инструмент рассчитан на комнату. Для большей аудитории:

  1. Проверьте, что в домене нет ограничений на Apps Script и на внешние POST-запросы из Яндекс Форм.
  2. Попросите участников не отправлять ответы одной секундой (пауза 5–10 секунд после объявления вопроса).
  3. Держите под рукой ссылку на историю интеграции — это единственный источник правды о доставке.

Ограничение «до 200 человек» — практическая оценка для одного зала, а не жёсткий лимит кода; узкое место при росте аудитории — плотность одновременных отправок, а не объём таблицы.