Тайм-аут Google API Curl истек - PullRequest
0 голосов
/ 13 июня 2018

Со вчерашнего дня я вижу много таких ошибок в своих журналах:

Operation timed out after 100001 milliseconds with 0 bytes received
File: /var/www/html/vendor/google/apiclient/src/Google/IO/Curl.php(126)
Trace: #0 /var/www/html/vendor/google/apiclient/src/Google/IO/Abstract.php(136): Google_IO_Curl->executeRequest(Object(Google_Http_Request))
#1 /var/www/html/vendor/google/apiclient/src/Google/Http/REST.php(60): Google_IO_Abstract->makeRequest(Object(Google_Http_Request))
#2 /var/www/html/vendor/google/apiclient/src/Google/Task/Runner.php(174): Google_Http_REST::doExecute(Object(Google_Client), Object(Google_Http_Request))
#3 /var/www/html/vendor/google/apiclient/src/Google/Http/REST.php(46): Google_Task_Runner->run()
#4 /var/www/html/vendor/google/apiclient/src/Google/Client.php(593): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
#5 /var/www/html/vendor/google/apiclient/src/Google/Service/Resource.php(240): Google_Client->execute(Object(Google_Http_Request))
#6 /var/www/html/vendor/google/apiclient/src/Google/Service/Drive.php(2000): Google_Service_Resource->call('update', Array, 'Google_Service_...')
#7 /var/www/html/app/lib/GoogleDriveHelper.php(185): Google_Service_Drive_Files_Resource->update('1jbLDzGVNNNigA...', Object(Google_Service_Drive_DriveFile), Array)
#8 /var/www/html/app/lib/GoogleDriveHelper.php(131): GoogleDriveHelper->updateFile('1jbLDzGVNNNigA...', '/tmp/tr-filesUI...')
#9 /var/www/html/app/lib/GoogleDriveHelper.php(66): GoogleDriveHelper->createOrUpdateFileOnce('Folder/Photo_...', 'Filen...', '/tmp/tr-filesUI...', 'image/jpeg', '', true)
#10 /var/www/html/app/jobs/worker/taskresult-photo-upload-to-gdrive.php(170): GoogleDriveHelper->createOrUpdateFile('Folder/Photo_...', 'Filen...', '/tmp/tr-filesUI...', 'image/jpeg')
#11 [internal function]: upload_photos_to_gdrive(Object(GearmanJob), NULL)
#12 /var/www/html/app/jobs/uploads-worker.php(5): GearmanWorker->work()

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

Я должен отметить, что это происходит довольно редко, и иногда Google Drive отвечает кодом ошибки 502 и следующим сообщением:

<p>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.  <ins>That’s all we know.</ins>

Может быть, вы занимались этой проблемой и могли бы указать мне на объяснение того, что происходит, это можно предотвратить (если да - как) или эти проблемы относятся к моей стороне служб?

1 Ответ

0 голосов
/ 13 июня 2018

Вы ничего не можете сделать с 500 ошибками, они являются ошибкой на стороне Google.Как рекомендовано в документации , вам следует реализовать экспоненциальный откат.

Если вы получили ошибку 500, подождите несколько секунд и повторите попытку.Если это все еще не работает, подождите удвоенное количество времени, если это все еще не работает, подождите три раза больше времени.

Если после 15 попыток все равно ничего не получится, значит, что-то не работает. exponential-backoff

Код ответа об ошибке сервера неверного шлюза по протоколу гипертекста (HTTP) 502 указывает, что сервер, выступая в качестве шлюза или прокси-сервера, получил неверный ответ отвышестоящий сервер.

...