Запускать задание cron только один раз после установленного времени - PullRequest
1 голос
/ 06 апреля 2019

Мне нужно запустить задание cron для выполнения определенной облачной функции после заданного интервала только один раз, но я немного не уверен, как это сделать. Есть ли способ сделать это через текущую облачную платформу Google?

1 Ответ

2 голосов
/ 06 апреля 2019

Обновите после нашего обсуждения ниже с помощью комментариев:

Если вы хотите «изменить документ в вашей базе данных Firestore через 2 часа после его создания», вы можете сделать следующее:

  1. При создании документа в Firestore сохраните дату / время создания, например, с помощью firebase.firestore.FieldValue.serverTimestamp()
  2. У вас есть функция HTTP Cloud, которую вы вызываете регулярно, как описано ниже (каждые минуты? Каждые 5 минут?), Исначала выбираются документы, которые были созданы 2 часа назад (на основе сохраненной временной метки), а затем выполняются необходимые действия с этими документами.

Если вы хотите запустить облачную функциюобратите внимание, что через задание cron вы обычно делаете это через облачную функцию HTTP, вызывая URL-адрес облачной функции через задание cron.

Вы можете использовать внешний сервис, такой как cron-job.org или вы можете использовать GCP App Engine и Cloud Pub / Sub

Смотрите это видео: https://www.youtube.com/watch?v=fEBPAMSk5_8

и это сообщение в блоге: https://firebase.googleblog.com/2017/03/how-to-schedule-cron-jobs-with-cloud.html

отКоманда Firebase.


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

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