Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
    • Функция
    • Вызов функции
    • Асинхронный вызов функции
    • Долгоживущие функции
    • Уведомления о завершении выполнения функции
    • Сетевое взаимодействие
      • Обзор
      • Окружение
      • Контекст выполнения
      • Предзагружаемая среда выполнения
    • Монтирование внешних ресурсов на файловую систему функции
    • Сборщик
    • Dead Letter Queue
    • Логи функции
    • Резервное копирование
    • Квоты и лимиты
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Концепции
  2. Среда выполнения
  3. Контекст выполнения

Контекст выполнения

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 20 мая 2025 г.

Контекст выполнения — это временная среда выполнения, которая инициализирует любые внешние зависимости кода функции, такие как подключения к базе данных или эндпоинты HTTP.

При вызове каждой функции Cloud Functions запускает контекст выполнения на основе параметров конфигурации, заданных пользователем при создании этой функции. Ресурсы, необходимые для вызова функции, и управление ими обеспечивает сервис.

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

Инициализация происходит только при создании нового экземпляра функции. Cloud Functions создает новый экземпляр функции при ее вызове, если экземпляров функции нет или их недостаточно для обработки вызовов. Если несколько вызовов функции обрабатываются одним экземпляром, инициализация происходит только при первом из них.

Повторное использование контекста выполненияПовторное использование контекста выполнения

После выполнения функции контекст некоторое время поддерживается в ожидании повторного вызова функции. Это значит, что:

  • Любые объявления в коде функции (вне кода обработчика) остаются инициализированными, обеспечивая дополнительную оптимизацию при повторном вызове функции.

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

  • Каждый контекст выполнения предоставляет 512 МБ дополнительного дискового пространства в каталоге /tmp. Содержимое каталога остается в контексте выполнения, предоставляя временный кеш, который можно использовать для нескольких вызовов. Вы можете добавить дополнительный код, чтобы проверить, есть ли в кеше данные, которые вы сохранили.

    Примечание

    Для файловой системы, смонтированной в каталоге /tmp, установлен флаг NOEXEC, который не позволяет выполнение двоичных файлов, записанных в этот каталог.

  • Фоновые процессы или обратные вызовы, инициированные вашей функцией, которые не завершились до завершения функции, возобновляются, если контекст выполнения будет использован повторно.

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

Была ли статья полезна?

Предыдущая
Окружение
Следующая
Предзагружаемая среда выполнения
Проект Яндекса
© 2025 ООО «Яндекс.Облако»