Сбой Google-Cloud-Scheduler с функцией запуска HTTP - PullRequest
1 голос
/ 02 марта 2020

Имеется Http-функция Cloud cloud, которая успешно выполняет c.

Код функции:

enter image description here

Вход с помощью stackdriver:

"Function execution took 301394 ms, finished with status code: 200" 

Теперь я создаю облачный планировщик, который запускает эту облачную функцию каждый день в 04:00.

Планировщик-ведение журнала с помощью stackdriver:

{
 httpRequest: {…}  
  insertId: "..."  
  jsonPayload: {
   @type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"   
   jobName: "......"   
   status: "UNKNOWN"   
   targetType: "HTTP"   
   url: "https://...."   
  }
  logName: "...."  
  receiveTimestamp: "2020-03-02T06:20:36.391816880Z"  
  resource: {…}  
  severity: "ERROR"  
  timestamp: "2020-03-02T06:20:36.391816880Z"  
 }

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Мне удалось воспроизвести вашу проблему, и, как я думал, Cloud Scheduler не ждет ответа от Cloud Function. Если у вас есть CF, выполнение которого занимает не более 9 минут, даже если вы продлили крайний срок до 9 минут, это только на стороне CF, и CS перестанет ждать, оставив статус запроса как UNKNOWN (следовательно, FAILED).

Если вы создаете CS из sdk, вы должны взглянуть на параметр - попытка-крайний срок , который позволит CS ждать больше.

Если вам не нужно видеть ответ от CS, вы можете попробовать использовать Pub / Sub , чтобы запустить процесс без ожидания.

0 голосов
/ 20 апреля 2020

То, что мы нашли и подтвердили службой поддержки Google: 1. Задание, созданное с помощью облачной консоли GCP, работает только для 60 секунд и возвращает СБОЙ, даже если для функции облака установлено значение максимум 540 секунд. Обратите внимание, что CF выполнится успешно. 2. Чтобы преодолеть это, создайте задание через командную строку с помощью команды gcloud SDK: https://cloud.google.com/sdk/gcloud/reference/scheduler/jobs/create/http

Возвращается УСПЕХ, когда мы устанавливаем --attempt-deadline = 1200s, что выше 540 секунд Время выполнения CF.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...