Nano Hash - криптовалюты, майнинг, программирование

Как установить тайм-аут для клиентской библиотеки google api php

Я использую клиентскую библиотеку php от Google для создания приложения. Иногда Google требуется до 100 секунд, чтобы ответить на запрос API. Я хотел бы ограничить время ожидания сокета до 30 секунд.

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

Я нашел этот пример в docs для клиента Java, но я не могу найти эквивалент PHP.

Спасибо за любую помощь.


  • Это связано с API Gmail? Разве вы не можете просто установить ограничение в 30 секунд со своей стороны? 27.07.2015
  • Я использую клиентскую библиотеку php, поэтому я не делаю необработанных http-запросов, библиотека 28.07.2015

Ответы:


1

Согласно этой проблеме, вы можете передавать параметры напрямую в curl.

$client->setClassConfig('Google_IO_Curl', 'options',
    array(
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_TIMEOUT => 10
    )
);
28.07.2015
  • Этот ответ больше недействителен, и setClassConfig устарел в последней версии. Смотрите ответ ниже 27.09.2017

  • 2

    В Google API v2 это можно сделать через клиент Guzzle.

    $http = $googleClient->getHttpClient();
    $http->setDefaultOption('connect_timeout', 10);
    $http->setDefaultOption('timeout', 10);
    
    15.08.2016
  • Это все еще работает сегодня для выпуска 2.2.0 (github.com/google/google- API-php-клиент/релизы) 27.09.2017

  • 3

    Этот работал у меня на версии 2.2.2:

    $client->setConfig('CURLOPT_CONNECTTIMEOUT', 100); 
    $client->setConfig('CURLOPT_TIMEOUT', 1000);
    
    05.03.2019
  • Как вы проверили, чтобы узнать, что это сработало? Я ничего не вижу через xdebug в объекте guzzle. 27.01.2020
  • Это дало мне желаемый результат, так как скрипт полностью выполнился за это время. 28.01.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..