> ## Documentation Index
> Fetch the complete documentation index at: https://poehali.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Облачные функции

> Ваше взаимодействие с сайтом 

<iframe src="https://vk.com/video_ext.php?oid=-230317084&id=456239044&hd=2" width="100%" frameBorder="0" allowFullScreen style={{ display: "block", margin: 0, padding: 0, aspectRatio: "16/9" }} />

Облачные функции — это инструмент, с помощью которого вы можете настроить более сложные процессы. Например:

* регистрировать и авторизовывать пользователей;
* отправлять вам заявки пользователей;
* собирать статистику сайта;
* подключить оплату услуг;
* многое другое.

Нужны ли вашему проекту функции? Как пользоваться функциями так, чтобы максимально улучшить ваше веб-приложение?

Опишите Юре, что вы хотите добавить на сайт и он подготовит для вас решение. Напомним: для того, чтобы функция выполняла то, что вам нужно, прорабатывайте каждую функцию отдельно; не переходите к новой функции, пока не убедитесь в правильной работе первой.

С помощью подробной информации о функциях в Ядре приложения вы сможете отследить, насколько корректно она выполняет необходимую задачу.

Какая информация о функциях у вас есть и как ей пользоваться?  Подробно расскажем в этом разделе.

## Как найти информацию о функциях

Чтобы проверить информацию о функциях откройте Ядро и перейдите в раздел Функции:

![functions.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/functions.png)

Этот раздел предназначен для того, чтобы получить общую информацию о функциях вашего сайта:

* Список всех функций проекта
* Время вычислений за 24 часа — чтобы отследить время вычисления функций
* Дата создания и последнего обновления — помогут понять, когда вы работали с функцией
* ID функций — понадобится для настройки внешних обращений к функции по API

![5.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/5.png)

Здесь так же находится сводная статистика по работе функций и их текущих [лимитах](/functions/cloud-functions#лимиты-функций):

![6.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/6.png)

Чтобы проанализировать работу конкретной функции, вы можете открыть её статистику с более детальной информацией.

## Статистика функций

Подробная статистика функции может понадобиться вам по разным причинам:

* для улучшения веб-приложения;
* для устранения неполадок;
* для проверки [лимитов](/functions/cloud-functions#лимиты-функций);
* и другое. Чтобы открыть статистику работы функции выберете нужную вам функцию из списка:

![7.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/7.png)

На открывшейся странице находятся разные параметры, описывающие функцию:

![func.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func.png)

<div id="статистика">
  Ниже находится подробное описание всех параметров. Важно: все данные таблиц обновляются в реальном времени, но могут приходить приходить с задержкой до 5 минут.
</div>

<AccordionGroup>
  <Accordion title="Описание функции">
    Из названия функции не всегда может быть понятно, что именно она выполняет. В описании находится небольшой текст о том, что делает выбранная функция.  

    ![func\_1.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_1.png)
  </Accordion>

  <Accordion title="Время статистики">
    Над графиками статистики находятся кнопки выбора временного отрезка, за который отображается статистика. Вы можете выбрать нужный вам отрезок: 15 минут, 1 час или 24 часа. 

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

    ![func\_2.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_2.png)
  </Accordion>

  <Accordion title="Частота вызовов">
    Выполнение функции вычисляется в вызовах функции. Например, каждый раз, когда пользователь регистрируется на сайте, он будет использовать функцию регистрации. То есть, будет вызывать эту функцию. 

    Вызовы функций — важный параметр, который ограничивается [лимитом](/functions/cloud-functions#лимиты-функций). В графике Частота вызовов видно когда и как часто использовалась ваша функция. Это полезно для статистики — вы сможете понять, сколько вызовов функций вам понадобится в месяц. 

    Частые вопросы о вызовах:

    <AccordionGroup>
      <Accordion title="Какие вызовы функций засчитываются?">
        Функцию можно вызвать на сайте или в редакторе во время разработки. Эти вызовы будут учитываться в графике Частоты вызовов и в лимитах. 

        Во время разработки Юра не вызывает функции. 
      </Accordion>

      <Accordion title="Функции вызываются слишком часто">
        ![func\_3.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_3.png)

        Если вы считаете, что функции вызываются чаще, чем вы их используете, обратите внимание на статистику функции. Попросите Юру подробно описать как работает функция. 

        Статистика и ответ Юры поможет вам продиагностировать ситуацию, после чего вы сможете настроить ее корректную работу. 
      </Accordion>
    </AccordionGroup>

    ![func\_3.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_3.png)
  </Accordion>

  <Accordion title="Категории ответов">
    При работе функция возвращает ответ от сервера. В этом графике указано, какой ответ возвращается при выполнении функции. Всего есть четыре категории ответов:

    * 2xx(200-208) — Все хорошо, функции работают
    * 3xx(300-308) — Ваш запрос был перенаправлен или требуются дополнительные действия
    * 4xx(400-409) — Что-то было настроено неправильно, требуется пересмотреть логику запроса.
    * 5xx(500-511) — Ошибка при обработке запроса на стороне сервиса. Этот тип ошибок всегда требует дополнительной информации для диагностики. 

    Вы можете посмотреть точный номер ответа в [логах](/functions/cloud-functions#статистика) функции.  

    ![func\_4.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_4.png)
  </Accordion>

  <Accordion title="Среднее время выполнения">
    На выполнение функций уходит некоторое время. Разным функциям понадобится разное время. На графике отображается среднее время выполнениявыбоанной функции. 

    ![func\_5.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_5.png)
  </Accordion>

  <Accordion title="Средняя память">
    В процессе работы функция может использовать память из [базы данных](/functions/database). Например, добавлять новый товар в список товаров или добавлять нового пользователя. Этот график показывает, сколько памяти из базы данных было использованно в процессе работы функции.

    ![func\_6.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_6.png)
  </Accordion>

  <Accordion title="Логи">
    Нажмите на вкладку, чтобы посмотреть логирование функции. Это полезный инструмент для поиска ошибок.В логах указывается:

    * точная техническая информация об ошибках при работе функции 
    * точное время запуска и завершения работы функции
    * затраченное время и память на отработку

    Если вы зашли в тупик при подключении нового функционала на сайт, такой инструмент как логи поможет вам лучше всего. Для Юры логи — это самое четкое описание проблемы, которое вы можете дать. Вам не нужно уметь читать логи — отправьте их Юре и попросите их расшифровать или решить неполадку. Он понятно опишет их для вас и исправит ошибку.

    ![func\_7.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/func_7.png)

    ![function-logs.png](https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/function-logs.png)
  </Accordion>

  <Accordion title="Настройки">
    Каждый тариф включает **разное количество часов вычислений.** Это время распределяется между всеми вашими запросами. Вы сами решаете, как его использовать: настройте, сколько секунд отводится на один запрос — и система автоматически посчитает, сколько запросов вы сможете сделать.

    **Как это работает:** Чем меньше времени на запрос → тем больше запросов в час. Чем больше времени на запрос → тем меньше запросов, зато каждый выполняется основательнее.

    **Пример:** При таймауте 2 секунды — вы получаете до 30 запросов в минуту. При таймауте 4 секунды — 15 запросов в минуту, но с запасом времени на сложные задачи.

    Не уверены, какое значение подходит вашему сценарию? Напишите Юре — он подберёт оптимальное время под вашу задачу.
  </Accordion>
</AccordionGroup>

## Лимиты функций

У каждого тарифа есть лимиты на:

* Количество облачных функций, то есть то, сколько разных подпрограмм вы можете создать
* Время вычислений облачных функций, то есть сколько времени выделено на работу ваших функций

Следите за этими лимитами, чтобы ваше приложение работало без ошибок. 

Важно:

* Лимиты не могут уходить в минус и всегда отключаются по достижению 100%
* Обнуление счетчиков лимитов происходит каждый платежный период

## Оптимизация функций

Важной частью настройки функций является их оптимизация. Это позволит сэкономить ресурсы и ускорить работу проекта. Уточните у Юры, как часто сейчас вызываются функции, и рассчитайте, как часто их действительно нужно вызывать. Юра поможет с этим разобраться, но также обязательно проверяйте информацию и попробуйте сделать расчёты самостоятельно.

<Card title="Рассмотрим реальный пример">
  Есть панель, в которой показатели обновляются каждые 5 секунд. Для их получения требуется 7 разных функций.

  Можно настроить систему так, что браузер каждые 5 секунд будет отправлять запросы ко всем 7 функциям. Тогда получится:\
  12 × 7 = 84 вызова в минуту.

  Другой вариант — создать одну функцию, которая проверяет наличие обновлений в базе данных, и только при их наличии вызывает остальные 7 функций.

  В этом случае будет 12 вызовов в минуту, если обновлений нет, и 19 вызовов, если обновление есть.

  То есть экономия составит:\
  84 / 19 ≈ 4,4 раза.
</Card>

Оптимизация функций напрямую влияет на стабильность и стоимость работы проекта. Чем эффективнее настроены вызовы, тем меньше нагрузка на систему, быстрее отклик и ниже расход ресурсов. Не забывайте об этой части настройки функций.
