Планирование работы cron для запуска облачной функции - PullRequest
0 голосов
/ 15 сентября 2018

Есть ли способ запланировать работу cron, используя cron.yaml для запуска облачной функции HTTP.Я пытался реализовать его, но передача всего URL приводит к ошибке.

cron:
- description: "Test Call"
  url: https://us-central1-***.cloudfunctions.net/helloGET
  schedule: every 1 mins

Я вижу эту ошибку в консоли при попытке развернуть задание cron

Unable to assign value 'https://us-central1-***.cloudfunctions.net/helloGET' to attribute 'url':
Value 'https://us-central1-***.cloudfunctions.net/helloGET' for url does not match expression '^(?:^/.*$)$'
  in "/Users/xyz/Desktop/cron.yaml", line 3, column 8

Я знаюэта ошибка возникает из-за того, что у меня есть полный URL-путь, но вместо полного пути, если я просто передам следующее

cron:
- description: "Test Call"
  url: /helloGET
  schedule: every 1 mins

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

Также есть способ установить расписание, которое будет запускаться каждые 1 секунду вместо 1 минуты.

1 Ответ

0 голосов
/ 15 сентября 2018

URL в cron.yaml должен быть URl, обрабатываемым вашим приложением, а не произвольным - вот почему работает только относительный путь.С Синтаксис (выделено мной):

url

Обязательно.В поле url указывается URL в вашем приложении , который будет вызываться службой Cron.

Что вы можете сделать, так это обработчик cron вашего приложения обратиться к произвольному URL, который вынужно активировать вашу функцию облака.См. Выдача HTTP (S) запросов

Что касается перехода на интервалы менее 1 минуты - это не поддерживается самим cron.Но есть способы добиться чего-то почти эквивалентного, например, Высокочастотное обновление данных с помощью Google App Engine

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