Сбой результатов работы Cloud Scheduler, хотя Http-запрос все еще выполняется - PullRequest
0 голосов
/ 10 февраля 2020

Я использовал Cloud Scheduler при запуске конечной точки HTTP, http-запрос все еще обрабатывается, но облачный планировщик уже показал результаты, которые он говорит «не удалось». Запрос занял больше часа. Обратите внимание, я использовал ручное масштабирование (может обрабатывать 24 часа запроса). Где я go не так?

Ответы [ 3 ]

1 голос
/ 11 февраля 2020

Я понимаю, что после нескольких минут обработки печать вашего задания Cloud Scheduler завершилась неудачно, даже если вызов http продолжит свою обработку с возвращенным кодом ошибки. Если это так, то это потому, что тайм-аут по умолчанию для Cloud Scheduler составляет около 180 с.

Я предполагаю, что это не хорошо документированная часть, и вы не можете установить это с помощью GUI, но только с помощью команды gcloud или Вызовы API.

Вы можете переопределить его, задав себе параметры attempt-deadline, например, this с помощью команды gcloud . У вас есть больше деталей в GRP c API . Позаботьтесь о времени ожидания HTTP-вызова. Ограничено 30 минутами, кроме случаев, когда вы вызываете AppEngine по HTTP, где вы ограничены 24H. Поскольку вы сказали, что вы used Manual Scaling (can process 24 hrs of request), я предположил, что вы говорите о AppEngine

У вас есть еще параметры повтора в Cloud Scheduler , также доступные через CLI gcloud.

1 голос
/ 11 февраля 2020

В настоящее время облачный планировщик не имеет GUI для настройки attempt_deadline, поэтому его можно установить только с помощью gcloud. И есть предел attempt_deadline того, что может обслуживать целевой планировщик облачных сервисов.

Для допустимой продолжительности этого срока:

Для целей HTTP: от 15 секунд до 30 минут. Для целей HTTP App Engine - от 15 секунд до 24 часов. Для целей PubSub это поле игнорируется.

При этом, поскольку я не хочу менять свою цель на AppEngine HTTP. Я только что создал новую цель HTTP, где он будет перенаправлен на нужную цель HTTP. При этом время ожидания запроса облачного планировщика не будет достигнуто.

0 голосов
/ 10 февраля 2020

Согласно документации:

Cloud Scheduler может вызывать цели HTTP, требующие аутентификации, если вы настроили соответствующую учетную запись службы с соответствующими учетными данными.

  • Убедитесь, что Cloud Scheduler идентифицировал служебную учетную запись, которая будет использоваться для вызова из Cloud Scheduler к вашей цели HTTP.

  • Кроме того, само Cloud Scheduler должно иметь собственная служебная учетная запись, которой назначена роль агента службы Cloud Scheduler, поэтому предоставляются соответствующие разрешения.

Выполнив следующие шаги, вы сможете создать и настроить Облачный планировщик успешно работает:

  1. Следуйте этому быстрому запуску , чтобы понять, как работает Cloud Scheduler.

  2. Здесь вы можете найти информацию о правильной настройке расписаний работы cron.

  3. Здесь вы можете найти Документация по созданию задания планировщика с использованием аутентификации с использованием HTTP Targets.

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

Надеюсь, эта информация поможет.

...