Самый простой способ - создать паб / подтему, cron-topic
, на которую подписывается ваша облачная функция.Cloud Scheduler может выдвинуть событие на cron-topic
по расписанию
Создать тему и подписку
gcloud pubsub topics create cron-topic
# create cron-sub for testing. Function will create it's own subscription
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Создать расписание
Команда ниже, но она бетасм. руководство по консоли здесь
# send a message every 3 hours. For testing use `0/2 * * * *` for every 2 min
gcloud beta scheduler jobs create pubsub --topic=cron-topic --schedule='0 */3 * * *'
Создание функции для использования cron-topic
Topic
Поместите код функции в текущий каталог и используйте эту команду дляразверните функцию прослушивания cron-topic
topic
FUNCTION_NAME=cron-topic-listener
gcloud functions deploy ${FUNCTION_NAME} --runtime go111 --trigger-topic cron-topic
note pub / sub события отправляются как минимум один раз.В некоторых случаях событие может быть отправлено более одного раза.Убедитесь, что ваша функция идемпотентна