Функция запуска Firebase после определенного времени [дубликат]

Вы можете сделать это

punct(u(a(t(i(on?)?)?)?)?)?

internat(i(o(n(a(l(i(z(a(t(i(on?)?)?)?)?)?)?)?)?)?)?)?
1
задан Frank van Puffelen 12 July 2017 в 20:47
поделиться

1 ответ

В этом случае метод setTimeout() определенно не подходит. Нет гарантии, что экземпляр облачной функции все еще будет работать через 8 часов.

Google еще не предоставляет планировщик для облачных функций, и лучше всего было бы создать очередь расписания какого-либо типа , Когда объект создается, добавьте задачу в очередь, чтобы удалить ее через 8 часов. Периодически (каждую минуту, скажем) запускается задание cron с помощью службы cron, которая запускает облачную функцию HTTPS, которая считывает очередь, чтобы увидеть, есть ли какие-либо объекты, которые будут действовать.

Альтернативно, если объект имеет связанное с этим время создания, вы можете периодически запускать облачную функцию HTTPS (инициированную внешним заданием cron, снова), которая выполняет запрос для объектов с истекшим сроком действия на основе их времени создания и удаляет их.

2
ответ дан Prisoner 15 August 2018 в 17:48
поделиться
  • 1
    Я также использую geofire, чтобы открыть геотекстиль для отправки push-уведомлений пользователям, которые входят в определенную область. Эта геокрия должна оставаться открытой до тех пор, пока условия, вызвавшие эти уведомления, будут выполнены, поэтому я отменяю ее с помощью другого setTimeout. Есть ли способ достичь такого поведения, используя облачные функции? – José María Franco Fraiz 13 July 2017 в 05:26
  • 2
    Это немного другой вопрос. Лучше всего будет открыть новый вопрос SO, чтобы спросить его. – Prisoner 13 July 2017 в 11:24
Другие вопросы по тегам:

Похожие вопросы: