Функции Firebase - Делайте что-нибудь каждые 10 минут - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю приложение, используя Firebase.Я хочу создать настройку администратора, которая по существу заполняет один из моих узлов данными.Он будет делать это каждые 10 минут, и я хочу добавить 50-80 точек данных.

Так что это заняло бы примерно 13 часов, я бы, вероятно, хотел бы расширить это, хотя в будущем.Я бы назвал эту функцию только один раз в неделю.

Я бы просто сделал это, используя setTimeout, но я слышал, что это может быть дорого?Кто-нибудь знает примерно, сколько это будет стоить?

Я не настолько опытен в работе с CRON, есть ли лучший способ сделать это с Firebase?Это не то, что я хочу делать постоянно, и это не в определенное время, а просто когда мне это нужно.Я также хотел бы, чтобы работа выполнялась несколько раз одновременно.Который кажется очень простым, используя Firebase Functions.

Есть идеи?Спасибо!

1 Ответ

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

Вам придется запускать функции из внешнего источника.

Один из способов сделать это - создать и подписаться на систему pub-sub:

exports.someSubscription = functions.pubsub.topic('some-subscription').onPublish((event) => {
    // Your code here
});

Еще один способ вызвать функции - выставить их в виде http-запросов и поразить эти конечные точки - см. эту удивительную статью в документации Firebase для некоторых ресурсов по созданию http-конечных точек.

Оба эти способа требуют наличия какой-либо службы планирования либо для публикации нового события в вашей подписке, либо для достижения конечной точки http. Вам нужно будет либо внедрить эти сервисы самостоятельно, но я уверен, что есть сервисы, которые могут сделать это для вас.

...