Comment faire pour exécuter tâche cron avec Firebase?
Je suis en train d'exécuter une tâche cron avec Firebase. Essentiellement, j'ai besoin pour exécuter une fonction qui fait une tonne d'appels d'API et pousse des données de firebase à 12:00 PST chaque jour. Est-il un moyen pour moi de le faire côté serveur avec Firebase?
Je vois qu'il y a ce module ici, mais je ne comprends pas comment il fonctionne à tous. Si quelqu'un a des idées ou de savoir comment la susmentionnés module pourrait travailler, ce serait fantastique.
EDIT: Idée. Si je créer une entrée de données qui a montré à la fois que la fonction a été achevée. Fondamentalement, vérifiez que la dernière fois que la fonction a été appelée et complété. Si c'est passé 12h alors la fonction est appelée et le champ est mis à jour de sorte qu'il ne s'appelle pas jusqu'au lendemain. Serait-ce une bonne idée? Je n'ai pas besoin de la fonction d'arriver à 12h exactement, j'ai juste besoin d'être achevée au moment de la première connexion de l'utilisateur.
J'ai juste modifié la question...tu crois que ça va être un bon solution?
Vous aurez toujours besoin d'avoir quelque chose à vérifier les données d'entrée les plus susceptibles de votre propre serveur
ne pouvais-je viens de vérifier à l'entrée sur le front-end lors de la connexion de l'utilisateur?
Hmm, en fait, que serait le travail, vous aurez juste à vous assurer qu'il est exécuté avant que l'utilisateur se connecte, je suppose
OriginalL'auteur Elliott McNary | 2016-03-02
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucune tâche cron ou options de planification sur Firebase, vous devez utiliser une autre plate-forme. Heres une, par exemple: https://zapier.com/zapbook/firebase/schedule/
Plus d'informations: La meilleure façon de définir globalement des alertes lorsqu'un Firebase emplacement est modifié
Il y a aussi certains en ligne des tâches cron, vous pouvez utiliser, il suffit de chercher en ligne "cron" avec Google. Fondamentalement, ils suffit d'appeler une URL dans le temps spécifié.
OriginalL'auteur luschn
Le mois dernier Firebase publié le Cloud Fonctions.
Là, vous pouvez déclencher le lambda-comme des fonctions selon les différents crochets: Pub/Sub événements, HTTP événements, ...
Ils sont la planification pour la sortie d'un cron crochet où vous pouvez déclencher une fonction spécifique à l'aide d'un cron règle. Il n'est pas encore sorti, mais en attendant, vous pouvez utiliser Google App Engine
OriginalL'auteur gyss
Pour répondre à la question de savoir comment
firebase-cron
travaux:Ce module doit être exécuté sur un serveur quelque part, donc c'est toujours sur.
Lorsque les travaux sont exécutés, tout cela signifie, c'est qu'il prend les données spécifiées pour ce travail et le met dans le spécifiée
firebase-queue
de référence. En tant qu'utilisateur, vous pouvez configurer le firebase-file d'attente à exécuter lorsque les données sont ajoutées à la file d'attente.Vous pouvez ajouter un "cron" travail en spécifiant le nom, le cron de patron, et les données à ajouter à la file d'attente à l'aide de la
.addJob
méthode:Utiliser le
.run
méthode pour démarrerfirebase-cron
. Ceci permet de vérifier la liste des travaux et exécute tout ce que devait être exécuté. Cette méthode prend également une fonction de rappel qui sera appelée à chaque fois que les travaux sont vérifiés (je l'utiliser pour la journalisation supplémentaire)Il y a certaines choses que je veux ajouter à
firebase-cron
et de la documentation mais je n'ai pas eu pour l'instant. Je l'ai utilisé dans des environnements de production pour un certain temps maintenant et je n'ai pas eu de problèmes avecfirebase-cron
lui-même... juste les erreurs de l'utilisateur dans ma file d'attente logique 😉Aussi, j'ai été en utilisant le nouveau Firebase Cloud Fonctions et ils sont grands. Je peut ajouter une fonctionnalité à être en mesure de déclencher une fonction cloud au lieu d'utiliser
firebase-queue
. Ce ne sera probablement pas nécessaire, une fois leur service cron est en cours d'exécution.OriginalL'auteur doowb
Solution 1
En Mars 2017 Abe Haskins publié un article sur la façon d'utiliser Google App Engine Cron pour planifier des tâches cron pour Firebase. Si vous voulez suivre cette approche, vous aurez besoin de:
Solution 2
Il y a un cool tutoriel par Jeff Delaney sur la façon de rendre dynamique des tâches cron pour Firebase. Vous pouvez avoir un coup d'oeil ici.
Solution 3
Enfin, vous pouvez également utiliser gratuit tiers cron job services comme cron-job.org. Il semble assez simple et il vous donne:
Espère que certaines de ces va vous aider.
OriginalL'auteur Yulian
Si vous ne souhaitez pas l'utiliser gratuitement en ligne HTTP déclencheur/demande générateur (par exemple https://atrigger.com/), une approche consiste à feu le nuage en fonction de l'utilisateur (client-side) l'interaction avec votre application. Un stockées
number
type de champ peut détenir un timestamp UNIX. Si ce timestamp est supérieure à 24 heures, de continuer à mettre le feu à votre côté serveur cloud (et actualiser timestamp) else stop/pause/arrêter de fumer. Pourrait être une semaine ou un mois, ou quelle que soit l'intervalle de temps que vous voulez.Que si l'utilisateur n'interagit avec votre application? Dans ce cas, pourquoi mettre à jour les données de votre application? Concernant les données obsolètes pour le 1er de l'utilisateur, c'est une question de paramétrage de votre intervalle de temps. Aussi, on peut avertir l'utilisateur que de nouvelles données est récupérée et garder/wait.
OriginalL'auteur Ron Royston